2017-04-18 26 views
2

我在OSX上(不是iOS),Xcode 8.2,Objective-C帶自動佈局約束的NSButton文本插入

我有兩個帶約束的按鈕。兩個按鈕都有居中標題,並且都具有相同的寬度(通過約束)。不,當涉及到另一種語言時,按鈕會變得更寬以適應更長的文本。但我想在按鈕邊框和文本之間留出一些空間。 IB中的標題插入選項不存在於NSButton中,我沒有找到任何等效的解決方案。

任何幫助表示讚賞

enter image description here

約束的底部按鈕:( 「新項目」 是頂部的按鈕)

enter image description here

回答

0

您必須覆蓋intrinsicContentSize只讀屬性,就像你會在UILabel

這裏是一個例子的重寫荷蘭國際集團NSButton與您可以通過屬性檢查器

//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 

快樂在你的XIB /分鏡腳本文件中設置其值的屬性編碼