J'apprends toujours Swift et je ne connais pas Objective-C. J'ai vu que pour modifier le texte d'un bouton, il fallait utiliser titleEdgeInsets
par programme, mais je ne sais pas trop comment procéder. utilise le.
Je voudrais changer le texte dans le bouton (padding) en bas et à gauche et à droite.
Merci pour vos réponses et/ou exemples!
Toujours valable pour: iOS 12/Xcode 10/Swift 4.2/OSX 10.13.2
iOS 9.1/Xcode 7.1/Swift 2.1/OSX 10.10.5
:
La méthode titleEdgeInsets
n'a pas fonctionné pour moi. Le cadre de mon bouton épouse étroitement le texte (je n'ai pas spécifié de taille de cadre), qui a une couleur d'arrière-plan rouge. Après avoir fait:
myButton.titleEdgeInsets = UIEdgeInsetsMake(10,10,10,10)
le fond rouge se rétrécissait vers l'intérieur de 10 pixels de chaque côté, ce qui signifie qu'une partie du texte se trouvait en dehors du fond rouge. L'utilisation de valeurs négatives n'a aucun effet sur la taille de l'image d'origine.
J'ai été capable de faire le tour du texte, rendant ainsi le cadre plus grand, en faisant:
myButton.contentEdgeInsets = UIEdgeInsetsMake(5,5,5,5)
iOS 10 et Swift 3
Testé et fonctionne sur IOS 11 et Swift 4.
refineButton.contentEdgeInsets = UIEdgeInsets(top: 5, left: 0, bottom: 0, right: 0)
Vous pouvez ajouter un remplissage en haut, à gauche, à droite et en bas en faisant ces lignes de code.
button.titleEdgeInsets.left = 10; // add left padding.
button.titleEdgeInsets.right = 10; // add right padding.
button.titleEdgeInsets.top = 10; // add top padding.
button.titleEdgeInsets.bottom = 10; // add bottom padding.
Pour iOS 9.1/Xcode 7.1/Swift 2.1
@IBOutlet weak var ratingButton: UIButton!
override func viewDidLoad() {
ratingButton.contentEdgeInsets = UIEdgeInsets(top:15,right:10,bottom:15,left:10)
super.viewDidLoad()
}