La taille du button est suffisante, mais lorsque je change de titre, le text du titre ne peut pas tenir count de la largeur du button. Toute fonction SDK peut résoudre ce problème, ou je dois coder manuellement pour le résoudre?
Veuillez vous référer aux images suivantes.
design dans le file nib.
spectacle initial en simulateur
quand je change le text du titre
_button.titleLabel.adjustsFontSizeToFitWidth = YES;
le path va changer ma taille de police. Je ne peux pas accepter le path.
[_button setTitleEdgeInsets: UIEdgeInsetsMake (10.0, 10.0, 0.0,0.0)];
la façon de changer la position de l'label seulement, pas la taille de l'label.
[_button.titleLabel sizeToFit];
le résultat est le même avec l'image (3).
[_button sizeToFit];
titre déplacé vers le coin supérieur gauche, et le titre rest le même résultat.
Juste confus, la taille de mon button est assez grande, pourquoi la taille du titre est si petite?
Utilisez ceci.
Objectif c
button.titleLabel.numberOfLines = 1; button.titleLabel.adjustsFontSizeToFitWidth = YES; button.titleLabel.lineBreakMode = NSLineBreakByClipping;
Swift 2.0
button.titleLabel!.numberOfLines = 0 button.titleLabel!.adjustsFontSizeToFitWidth = true button.titleLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping
NOTE: Swift code courtoisie: @Rachel Harvey
Pour les personnes qui rencontrent cette question:
Essayez d'utiliser le setter:
[self.myButton setTitle:@"Title" forState:UIControlStateNormal]; [self.myButton sizeToFit];
Assurez-vous également que l'label ne modifie pas l'espacement ultérieur, car cela semble avoir préséance sur l'ajustement de la taille de la police. Assurez-vous également que minimumScaleFactor <1.
button.titleLabel.adjustsFontSizeToFitWidth = YES; button.titleLabel.adjustsLetterSpacingToFitWidth = NO; button.titleLabel.minimumScaleFactor = 0.5;
Voici la version Swift:
let button = UIButton() button.titleLabel?.numberOfLines = 1 button.titleLabel?.adjustsFontSizeToFitWidth = true button.titleLabel?.lineBreakMode = NSLineBreakMode.ByClipping
Dans IB, select simplement le button, allez dans le menu de l'éditeur, et choisissez "Size To Fit Content"