2 votes

Xcode 5 - Taille du UIButton Pour Adapter le Contenu

J'ai essayé deux façons de créer un UIButton dont le frame est égal à sa taille de contenu intrinsèque.

La première méthode est réussie:

button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTitle:@"Button" forState:UIControlStateNormal];
[[button titleLabel] setFont:[UIFont systemFontOfSize:16.0]];
[button sizeToFit];
[[self view] addSubview:button];

...et j'ai enregistré le résultat de [button frame].size et button intrinsicContentSize] et ils correspondent.

Quant à la deuxième méthode, j'ai fait glisser un UIButton sur une vue du Storyboard et j'ai choisi Size To Fit Content sur le bouton. Je n'ai pas défini de contraintes. Ensuite, lorsque je l'exécute avec le simulateur, le texte est coupé: https://i.sstatic.net/hnvMb.png

et j'ai enregistré ces résultats:

// Résultat: 32.000000
NSLog(@"bottomButton Frame Height: %f", [bottomButton frame].size.height);
// Résultat: 49.000000
NSLog(@"bottomButton Frame Width: %f", [bottomButton frame].size.width);
// Résultat: 32.000000
NSLog(@"bottomButton Intrinsic Content Size Height: %f", [bottomButton intrinsicContentSize].height);
// Résultat: 50.000000
NSLog(@"bottomButton Intrinsic Content Size Width: %f", [bottomButton intrinsicContentSize].width);

...ce qui semble indiquer que la largeur du frame est 1px plus grande que prévu...des idées?

0voto

TrevorL Points 475

Votre capture d'écran dit tout.

Le contenu "Button" avec une taille de police de 16,0 est trop grand pour tenir dans les contraintes du cadre du bouton, il est donc tronqué en "B..on". Ainsi, le bouton fait 49,0 de large et le contenu du bouton, ou "Button", est plus grand que cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X