2017-04-18 3 views
2

Je suis sur OSX (non iOS), Xcode 8.2, Objective-Ctexte NSButton avec des contraintes de empiècements autolayout

J'ai deux boutons avec des contraintes. Les deux boutons ont des titres centrés et les deux ont la même largeur (via des contraintes). Non, quand il s'agit d'une autre langue, les boutons deviennent plus larges pour s'adapter au texte plus long. Mais j'aimerais avoir de l'espace entre la bordure du bouton et le texte. Les options d'insertions de titre dans IB n'existent pas pour NSButtons et je n'ai trouvé aucune solution équivalente.

Toute aide appréciée

enter image description here

Contraintes pour le bouton du bas: ("Nouveau projet" est le bouton du haut)

enter image description here

Répondre

0

Vous devez passer outre la propriété intrinsicContentSize en lecture seule comme vous le feriez dans UILabel

Voici un exemple d'overrid ing NSButton propriétés que vous pouvez définir leurs valeurs dans votre xib/fichier storyboard par l'inspecteur des attributs

//CustomButton.h file 

@interface CustomButton : NSButton 

@property (nonatomic, assign) IBInspectable CGFloat horizontalPadding; 
@property (nonatomic, assign) IBInspectable CGFloat verticalPadding; 

@end 

//CustomButton.m file 

@implementation CustomButton 

- (NSSize) intrinsicContentSize{ 
    CGSize size = [super intrinsicContentSize]; 
    size.width += self.horizontalPadding; 
    size.height += self.verticalPadding; 
    return size; 
} 

@end 

Bonne codage