Как я могу получить размер шрифта и имя шрифта UILabel?
105
У меня есть UILabel, в котором я устанавливаю размер шрифта и имя шрифта с помощью Interface Builder. Теперь мне нужно прочитать значения обоих в моем ViewController.
Не работает. Я могу писать в нем текст, но fontName и pointSize имеют значение null.
Тим
Вы имеете в виду, что вы можете программно изменить текст метки, но не можете получить доступ к fontName и pointSize? Я отредактировал приведенный выше ответ, включив в него self.label, а не просто label, поскольку я не упомянул о создании переменной экземпляра для label.
Нед
Кроме того, убедитесь, что вы подключили метку в Interface Builder к IBOutlet, который вы создали в File's Owner (контроллер представления).
Нед
2
Ах, я забыл связь в IB с владельцем файла.
Тим
29
Swift:
var currentFontSize = button.titleLabel?.font.pointSize
Значение Pointsize не является размером шрифта, используемым в свойстве размера UIFont. Скажем, если вы установите размер шрифта в конструкторе интерфейса на 14 и распечатаете pointSize, вы получите только 11.
Кажется, сейчас работает. Если я установил размер шрифта метки в конструкторе интерфейса / редакторе раскадровки на 17 ... myLabel.font.pointSizeвозвращает 17.
Дерек Сойк,
1
вам нужно прикрепить его к UILabel IBOutlet, а затем label.font ...
Ответы:
Добавьте свойство в файл .h вашего контроллера представления:
Свяжите ярлык с этим IBOutlet под выходами «Владелец файла» в Interface Builder. Если не используете ARC, убедитесь, что вы выпустили его в -dealloc
Затем, чтобы получить название и размер шрифта, все, что вам нужно, это
источник
Swift:
источник
Значение Pointsize не является размером шрифта, используемым в свойстве размера UIFont. Скажем, если вы установите размер шрифта в конструкторе интерфейса на 14 и распечатаете pointSize, вы получите только 11.
источник
myLabel.font.pointSize
возвращает 17.вам нужно прикрепить его к UILabel IBOutlet, а затем label.font ...
источник