Est-il possible d'ajuster la position x, y pour le titleLabel
de a UIButton
?
Voici mon code:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];
[btn setTitle:[NSString stringWithFormat:@"Button %d", i+1] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
btn.titleLabel.frame = ???
Réponses:
Et dans Swift
Swift 5
la source
setTitleEdgeInsets:
c'était tout ce que j'ai trouvé nécessaire pour déplacer le texte.Le moyen le plus simple de le faire visuellement est d'utiliser l'inspecteur d'attributs ** (apparaît lors de l'édition d'un xib / storyboard), de définir la propriété " edge " sur title, d'ajuster ses incrustations, puis de définir la propriété "edge" sur l'image et de l'ajuster en conséquence . C'est généralement mieux que de le coder, car il est plus facile à maintenir et très visuel.
la source
Edge
deTitle
puis ajuster encart!edge
propriété, vous pouvez ajuster les encarts de titre dans l'inspecteur de taille.Dérivez d'UIButton et implémentez la méthode suivante:
Éditer:
la source
Pour mes projets, j'ai cet utilitaire d'extension:
la source