Может кто-нибудь сказать, пожалуйста, как я могу изменить тип и размер шрифта UISegmentedControl
?
ios
iphone
cocoa-touch
font-size
uisegmentedcontrol
Аашутош Тивари
источник
источник
Ответы:
Я столкнулся с той же проблемой. Этот код устанавливает размер шрифта для всего сегментированного элемента управления. Нечто подобное может работать для установки типа шрифта. Обратите внимание, что это доступно только для iOS5 +
Obj C :
РЕДАКТИРОВАТЬ:
UITextAttributeFont
устарела - используйтеNSFontAttributeName
вместо.РЕДАКТИРОВАТЬ # 2: Для Swift 4
NSFontAttributeName
был изменен наNSAttributedStringKey.font
.Свифт 5 :
Свифт 4 :
Свифт 3 :
Swift 2.2 :
Благодаря реализации Swift от @ audrey-gordeev
источник
[mySegmentedControl setTintColor:onColor forTag:kTagOnState];
а[mySegmentedControl setTintColor:offColor forTag:kTagOffState];
затем применил[mySegmentedControl setTitleTextAttributes:attributes forState:UIControlStateNormal];
тогда, то цвета, которые я только что установил, исчезли.NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldsystemFontOfSize:12.0f]};
boldSystemFontOfSize:
(заглавная S для Системы)Используйте API внешнего вида в iOS 5.0+:
Ссылки: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
источник
UITextAttributeFont
устарел - используйтеNSFontAttributeName
вместо этого.UISegmentedControl
s.Вот Swift-версия принятого ответа:
Свифт 3 :
Swift 2.2 :
источник
Другой вариант - применить преобразование к элементу управления. Однако это уменьшит все, включая границы контроля.
источник
Свифт Стиль:
источник
[NSFontAttributeName: font]
Здесь я обновил для iOS8
источник
XCode 8.1, Swift 3
просто измените числовое значение
(ofSize: 24.0)
источник
Если у вас есть какие-либо вопросы, свяжитесь со мной.
источник
nil
значение.C # / Xamarin:
источник
Swift 4
источник
Instance member 'setTitleTextAttributes' cannot be used on type 'UISegmentedControl'; did you mean to use a value of this type instead?
iOS13 / Swift5Даниэль указал мне правильный путь. Я использовал это так
источник
Расширение для
UISegmentedControl
настройки размера шрифта.источник
источник
В
swift 5
,источник
Вы можете получить фактический шрифт для UILabel, рекурсивно исследуя каждое из представлений, начиная с UISegmentedControl. Я не знаю, является ли это лучшим способом сделать это, но это работает.
В приведенном выше коде я просто устанавливаю цвет текста UILabel, но я полагаю, вы также можете получить или установить свойство шрифта.
источник
это для цели c добавить ваше сегментированное имя элемента управления вместо mysegmentedcontrol
Надеюсь, поможет
источник