Подтвердить что ты не робот

Шрифт UITextView равен нулю

Я создал UITextView с размером шрифта 14 в раскадровке и подключил его к свойству detailDescriptionLabel моего ViewController. Этот код находится в viewDidLoad:

self.detailDescriptionLabel.font=[UIFont systemFontOfSize:10];
NSLog(@"text is %@; font is %@", self.detailDescriptionLabel.text, self.detailDescriptionLabel.font);

Результат консоли:

text is Lorem Ipsum; font is (null)

Почему шрифт установлен на нуль? Работает setFont:; шрифт сокращается. Я хочу получить шрифт так после жестов, который я могу назвать lineHeight на шрифте. Таким образом, я могу узнать, какая строка была использована с помощью следующего кода:

int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;

Здесь тоже шрифт равен нулю. строка установлена ​​в -2147483648, что явно не то, что я хочу.

4b9b3361

Ответ 1

Попробуйте установить флажок "selectable" для этого UITextView в Interface Builder, если вы его не сняли (это в Инспекторе атрибутов).

Я столкнулся с подобной проблемой. У меня был IBOutlet для UITextView, чье свойство шрифта было nil, и оно не отвечало бы на любые изменения шрифта или текста в коде до тех пор, пока не будет установлено его свойство text. Я смог сузить источник проблемы до этого конкретного флажка через пробную версию и ошибку, но я не могу объяснить, почему он работает (похоже, системная ошибка).

Ответ 2

Я попытался изменить все свойства и ограничения, которые у меня были на моем текстовом представлении.

В том числе выбирается как указано выше

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

Ответ 3

Вам следует попробовать выполнить регистрацию self.detailDescriptionLabel. Значение может быть нулевым.