Je me demandais s'il existait un bon moyen de transformer UIButtons
avec plusieurs lignes titleLabel
dans Interface Builder. Je n'en ai trouvé aucun et insère une UILabel
distincte au-dessus de chaque bouton et il est difficile de suivre sa couleur dans la presse et d'autres événements.
Peut-être y a-t-il de meilleures alternatives faites dans le code s'il n'y a pas de telle manière dans IB?
Code:
Pour autoriser plusieurs lignes, vous pouvez utiliser:
button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
button.titleLabel.textAlignment = UITextAlignmentCenter;
[button setTitle: @"Line1\nLine2" forState: UIControlStateNormal];
Dans iOS 6 , UILineBreakModeWordWrap
et UITextAlignmentCenter
sont obsolètes, utilisez donc:
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
Interface Builder:
Vous pouvez effectuer plusieurs opérations uniquement dans Interface Builder.
Mentionnons que si vous ne voulez pas que Word s'emballe, mais voulez quand même obtenir un titre multiligne sur un bouton UIButton, vous pouvez le faire en définissant lineBreakMode avant numberOfLines, Ceci parce que lineBreakMode semble annuler le nombre numberOfLines défini par ce que nous faisons dans cet ordre.
Rapide:
button.titleLabel? .lineBreakMode = NSLineBreakMode.byTruncatingTail
button.titleLabel? .numberOfLines = 2
button.setTitle (myTitle, pour: UIControlState.normal)