Quelqu'un peut-il me dire comment changer le type et la taille de la police UISegmentedControl
?
ios
iphone
cocoa-touch
font-size
uisegmentedcontrol
Aashutosh Tiwari
la source
la source
Réponses:
J'ai rencontré le même problème. Ce code définit la taille de police pour l'ensemble du contrôle segmenté. Quelque chose de similaire pourrait fonctionner pour définir le type de police. Notez que cela n'est disponible que pour iOS5 +
Obj C :
EDIT:
UITextAttributeFont
a été déconseillé - utiliser à laNSFontAttributeName
place.EDIT # 2: pour Swift 4
NSFontAttributeName
a été changé enNSAttributedStringKey.font
.Swift 5 :
Swift 4 :
Swift 3 :
Swift 2.2 :
Merci aux implémentations Swift de @ audrey-gordeev
la source
[mySegmentedControl setTintColor:onColor forTag:kTagOnState];
et[mySegmentedControl setTintColor:offColor forTag:kTagOffState];
puis appliquer[mySegmentedControl setTitleTextAttributes:attributes forState:UIControlStateNormal];
les couleurs que je viens de définir disparaissent.NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldsystemFontOfSize:12.0f]};
boldSystemFontOfSize:
(S majuscule pour System)Utilisez l'API d'apparence dans iOS 5.0+:
Liens: 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
la source
UITextAttributeFont
a été amorti - utilisezNSFontAttributeName
plutôt.UISegmentedControl
les.Voici une version Swift de la réponse acceptée:
Swift 3 :
Swift 2.2 :
la source
Une autre option consiste à appliquer une transformation au contrôle. Cependant, il réduira tout, y compris les frontières de contrôle.
la source
Style rapide:
la source
[NSFontAttributeName: font]
Ici, j'ai mis à jour pour iOS8
la source
XCode 8.1, Swift 3
il suffit de changer la valeur numérique
(ofSize: 24.0)
la source
Si vous avez des questions, contactez-moi.
la source
nil
valeur.C # / Xamarin:
la source
Swift 4
la source
Instance member 'setTitleTextAttributes' cannot be used on type 'UISegmentedControl'; did you mean to use a value of this type instead?
iOS13 / Swift5Daniel m'a montré la bonne voie. Je l'ai utilisé comme ça-
la source
Extension pour
UISegmentedControl
définir la taille de police.la source
la source
Dans
swift 5
,la source
Vous pouvez obtenir la police réelle pour UILabel en examinant récursivement chacune des vues en commençant par UISegmentedControl. Je ne sais pas si c'est la meilleure façon de le faire, mais ça marche.
Dans le code ci-dessus, je ne fais que définir la couleur du texte de l'UILabel, mais vous pouvez également saisir ou définir la propriété de la police, je suppose.
la source
c'est pour l'objectif c ajoutez votre nom de contrôle segmenté à la place de mysegmentedcontrol
J'espère que ça aide
la source