UILabel первая буква в нижнем регистре

#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. Спасибо, Николас, ты сэкономил мне немного времени, потому что я подумал, что это возможно, поэтому я могу перестать пытаться использовать ярлык. Я выберу версию строки редактирования.