У меня есть универсальное приложение, в котором я использовал панель рассказов, чтобы ограничить кнопку, так что с iPhone 4 до iPhone 6plus размер будет хорошо пропорционален экрану устройства. Название кнопки - это номер «2» (Все, что отображается на экране, - это номер «2», который можно нажать). По какой-то причине я не могу понять, как автоматически изменить размер шрифта с размером кнопки, чтобы число выглядело пропорционально экрану, как и предполагалось. Идеи?Автоматическое изменение размера текста внутри кнопки с ограничениями на раскадровке
ответ
Используйте только Interface Builder. Вы можете добавить UILabel как тот же размер, что и ваша кнопка. Удалите заголовок своей кнопки. Установите текст для UILabel. Затем измените свойство AutoShrink UILabel на «Минимальный масштаб шрифта». Но вы не сможете изменить цвет текста для разных состояний.
Использовать код в соответствии с шириной. Попробуйте следующее:
self.yourButton.titleLabel.adjustsFontSizeToFitWidth = YES; self.yourButton.titleLabel.minimumScaleFactor = 0.5;
Если вы хотите соответствовать высоте названия. Возможно, вы должны сами рассчитать высоту. Используйте [font lineHeight], чтобы шрифт соответствовал вашей кнопке.
Вызов этой функции (например, из viewDidAppear) для каждой кнопки в вашем приложении:
func setAppropriateFontSize(butt:UIButton){
let maxFontSize = butt.frame.height
butt.titleLabel!.font = UIFont(name: "Helvetica", maxFontSize)
butt.titleLabel!.adjustsFontSizeToFitWidth = true
butt.titleLabel!.minimumScaleFactor = 0.01
}
Выше maxFontSize
максимальный размер шрифта, для которого текст по-прежнему помещается вертикально внутри кнопки. Этот шрифт, вероятно, слишком велик, и поэтому мы разрешаем его shrink (adjustsFontSizeToFitWidth = true
означает, что мы разрешаем шрифт shrink, так как он никогда не будет увеличиваться в соответствии с шириной).
- 1. iOS Autolayout: изменение размера контейнера с ограничениями
- 2. Как автоматическое изменение размера текста внутри 2 отдельных Div's
- 3. C# Изменение размера текста кнопки
- 4. Качели: автоматическое изменение размера текста над кнопкой?
- 5. Настройка размера текста внутри кнопки
- 6. Автоматическое изменение размера div с максимальной шириной
- 7. Изменение Drawable размера внутри кнопки
- 8. Автоматическое изменение размера div
- 9. Изменение размера текста внутри вкладок
- 10. Изменение размера изображения внутри кнопки
- 11. Изменение размера изображения внутри кнопки
- 12. Панель JavaFX внутри панели Автоматическое изменение размера
- 13. Автоматическое изменение размера NSView
- 14. Изменение размера содержимого текста внутри кнопки для Windows Phone
- 15. Автоматическое изменение размера шрифта MathJax
- 16. Автоматическое изменение размера текстового поля
- 17. Автоматическое изменение размера узла
- 18. Android - автоматическое изменение размера
- 19. Автоматическое изменение размера пользовательского UITableViewCell
- 20. Автоматическое изменение размера текста в виджете с помощью RemoteView
- 21. Автоматическое изменение размера текста меток в Qt - странное поведение
- 22. jList отключить автоматическое изменение размера
- 23. CSS Bootstrap: автоматическое изменение размера поля ввода и кнопки
- 24. Изменение размера текста на UIButton
- 25. Изменение размера текста на блесны
- 26. Включить автоматическое изменение размера изображения
- 27. Программный запрет на автоматическое изменение размера изображений
- 28. Автоматическое изменение размера встроенных видеороликов
- 29. Picasa: автоматическое изменение размера изображения на сайте
- 30. IOS - Автоматическое изменение размера CVPixelBufferRef