我做了一個UIView子類,因爲我需要一些自定義的東西。在界面生成器中使用現有的自定義UIView
然後,我在其中一個xib上添加了UIView,並將UIView的類更改爲我的自定義類。當我運行時,它不會實例化自定義類。
我該怎麼辦?將使用什麼構造函數來實例化自定義類?
我做了一個UIView子類,因爲我需要一些自定義的東西。在界面生成器中使用現有的自定義UIView
然後,我在其中一個xib上添加了UIView,並將UIView的類更改爲我的自定義類。當我運行時,它不會實例化自定義類。
我該怎麼辦?將使用什麼構造函數來實例化自定義類?
的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
}
當你從一個XIB創建的UIView調用的方法是
- (id) initWithCoder:(NSCoder *)aCoder
有沒有自定義的構造函數,你是如何檢查未啓動? –