2015-10-13 17 views
6

Używam React Native do tworzenia aplikacji. Chodzi o to, że chcę zmienić kolor kursora wprowadzania tekstu zamiast używać domyślnego niebieskiego koloru. Czy są jakieś możliwości, że mogę to zrobić w JavaScript lub AppDelegate, aby ustawić kolor globalnego odcienia?Zmień kolor wyjściowy Natywny kolor kursora

+0

co masz na myśli przez kolor kursora? kolor podświetlenia na wejściu? kolor kursora myszy po najechaniu kursorem na dane wejściowe? kolor wprowadzania tekstu, w którym wpisujesz litery? –

Odpowiedz

5

Tak, możemy to zrobić, ustawiając kolor tinty.

W projekcie AppDelegate.m.

Dodanie poniższego kodu między self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; i [self.window makeKeyAndVisible];, umożliwia zmianę koloru odcienia globalnego.

self.window.tintColor = [UIColor redColor]; // Here is your color. 

Albo, dodając poniższy kod po [self.window makeKeyAndVisible];, można zmienić kolor/odcień TextInput UITextField.

[[UITextField appearance] setTintColor:[UIColor redColor]]; 

Nic się nie dzieje po zmianie koloru odcienia UITextView.

Nie mogłem znaleźć sposobu na wdrożenie go w stylu JaveScript.

+0

Działa! Dziękuję Ci! –

+1

Jeśli ktoś chce dodać kolor heksadecymalny, możesz użyć [tej strony] (http://uicolor.io/#/hex-to-ui), aby konwertować z hexa na iOS UIColor. – eyal83

+0

Czy ktoś wiedział, jak to zrobić w systemie Android? – yura

16

Tu jest rzeczywiście prop robi to dla TextInput: selectionColor

<TextInput 
    selectionColor={'green'} 
/> 

Oto documentation.

2

Najlepszym sposobem, aby to osiągnąć, jeśli chcesz konsystencja koryta aplikacja jest wprowadzenie kodu miech w pliku root (index.js)

import { TextInput } from 'react-native' 
TextInput.defaultProps.selectionColor = 'white' 

/*class....*/