#ios #objective-c #uilabel
#iOS #objective-c #uilabel
Вопрос:
Я пытаюсь установить первую букву a UILabel
в нижний регистр, но не могу найти ответы, которые могли бы мне помочь. Я хотел бы решить эту проблему без редактирования исходного содержимого.
Возможно ли что-то подобное?
myLabel.text.autocapitalizationType = UITextAutocapitalizationTypeNone;
Или я должен сделать NSString
‘s (который содержит содержимое) первой буквой в нижнем регистре, прежде чем передать ее метке?
Обновить:
Как сказал Николас, это невозможно с UILabel
помощью, отредактируйте строку, чтобы решить проблему.
Комментарии:
1. (Обратите внимание, что автокапитализация применяется только к вводу с клавиатуры, а не к вводимому вами тексту.)
2. @HotLicks Я думаю, что это тоже может быть хорошо, если бы я мог отключить функцию первого символа в верхнем регистре на клавиатуре. Это был мой первый план. Это должно быть сделано с помощью кода или это возможно с помощью interface builder?
Ответ №1:
У меня когда-то была такая же проблема, поэтому я очень тщательно просматривал документы UILabel
, но я не нашел опции, которая позволила бы достичь этого на уровне UILabel
-API, поэтому я также в конечном итоге изменил результат NSString
, так что, я думаю, это невозможно.
Внесение изменений в cateogry для UILabel
( UILabel Capitalization.h
) в итоге сработало для меня довольно хорошо, так что каждый раз, когда метка изменялась, я мог вызывать что-то вроде: [label capitalize]
было довольно удобно. Надеюсь, это поможет!
Комментарии:
1. Спасибо, Николас, ты сэкономил мне немного времени, потому что я подумал, что это возможно, поэтому я могу перестать пытаться использовать ярлык. Я выберу версию строки редактирования.