2013-04-15 142 views
2

我做了一個UIView子類,因爲我需要一些自定義的東西。在界面生成器中使用現有的自定義UIView

然後,我在其中一個xib上添加了UIView,並將UIView的類更改爲我的自定義類。當我運行時,它不會實例化自定義類。

我該怎麼辦?將使用什麼構造函數來實例化自定義類?

+0

有沒有自定義的構造函數,你是如何檢查未啓動? –

回答

2

xib

- (id)initWithCoder:(NSCoder *)decoder 

如果你是依靠連接和其他對象在xib是被實例化可用,那麼你也可以添加代碼到

- (void)awakeFromNib 

這是當物體... is guaranteed to have all its outlet and action connections already established.


爲了解決代碼重複,你可以這樣做以下

- (instancetype)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
    [self commonInit]; 
    } 
    return self; 
} 

- (instancetype)initWithCoder:(NSCoder *)aDecoder 
{ 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
    [self commonInit]; 
    } 
    return self; 
} 

- (void)commonInit 
{ 
    // any common setup 
} 
0

當你從一個XIB創建的UIView調用的方法是

- (id) initWithCoder:(NSCoder *)aCoder 
相關問題