Как изменить цвет индикатора ввода текста? - PullRequest
0 голосов
/ 15 марта 2012

Это видно в UITextView и UITextField - мигающая синяя линия, которая показывает вам, где будет напечатано все, что вы печатаете. Я видел, как некоторые приложения меняют цвет, и не знал, как это сделать. Как мне изменить его цвет?

Ответы [ 6 ]

8 голосов
/ 11 сентября 2013

В IOS 7 вы можете просто установить tintColor , он меняет цвет для всех активных элементов в представлении и подпредставлениях, включает цвет курсора:

_textField.tintColor = [UIColor redColor];
2 голосов
/ 02 апреля 2012
[[textField textInputTraits] setValue:[UIColor redColor] forKey:@"insertionPointColor"];
1 голос
/ 16 сентября 2013

Попробуйте это:

[[textField valueForKey:@"textInputTraits"] setValue:CUSTOM_COLOR forKey:@"insertionPointColor"];

Несмотря на то, что это кажется недокументированным, но это работает.Честно говоря, здесь вы не используете никаких частных методов - только кодирование значения ключа, которое является законным.

PS Вчера мое новое приложение появилось в AppStore без каких-либо проблем с этим подходом.И это не первый случай, когда я использую KVC при изменении некоторых свойств, доступных только для чтения (например, navatonBar) или частных иваров.

0 голосов
/ 09 января 2017

Для iOS 10 SDK, только индикатор и Objective-C (когда-нибудь будут пропущены) мое рабочее решение:

for (UIView *subView in self.sBar.subviews){
    for (UIView *ndLevelSubView in subView.subviews){

        if ([ndLevelSubView isKindOfClass:[UITextField class]])
        {
            UITextField * sbTextField = (UITextField *)ndLevelSubView;
            [[sbTextField valueForKey:@"textInputTraits"] setValue:[UIColor n2pMainPurpleColor] forKey:@"insertionPointColor"];
            break;
        }

    }

}
0 голосов
/ 26 ноября 2013

Изменить цвет оттенка, (iOS 7)

Change the tint color in the nib

или сделать это программно

myTextField.tintColor = [UIColor blackColor];

0 голосов
/ 15 марта 2012

Нет задокументированного способа изменить цвет указателя.Однако, есть одно недокументированное свойство textField, а именно textInputTraits, которое является UITextInputTraits экземпляром.

Вы можете попробовать этот код, чтобы заставить это работать, но ваше приложение может быть отклоненов процессе рассмотрения.

[[textField textInputTraits] setValue:[UIColor redColor] forKey:@"insertionPointColor"];

Взято из https://stackoverflow.com/a/4273440/736649

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...