我有UIViewController
和UIView
子類(可以說ViewSubClass
)。我正在使用故事板。在mainStoryBoard.storyBord
,我把一個UIView
和設置自定義類ViewSubClass
。現在我不想在UIViewController
中創建ViewSubClass
的實例,例如ViewSubClass *subClassInstance = [[ViewSubClass alloc] init]
。沒有在ViewController
中創建任何ViewSubClass
實例,我想調用initWithCoder
方法。當我運行我的應用程序時,應調用initWithCoder
方法ViewSubClass
。我怎樣才能做到這一點?如何調用initWithCoder?
2
A
回答
4
添加下面的代碼在您的視圖類.m文件
-(id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
// Initialization code
}
return self;
}
而且在視圖類添加一個文件名,如下截屏。
1
偶爾,我見過initWithCoder:
不叫,即使我有在Interface Builder中建立子類視圖,如圖接受的答案。
吹走XCode和模擬器的緩存解決了我的問題。
Command + Shift + k
通常對於XCode來說已經足夠好了。
選擇「重置內容和設置」,爲iPhone模擬器:
+1
不知道爲什麼,但它的工作原理! – Mahesh
相關問題
- 1. initWithCoder何時調用NSManagedObject?
- 2. InitWithCoder多次調用
- 3. initWithCoder:被nib和NSCoding調用!
- 4. drawLayer未在initWithCoder中調用?
- 5. initWithCoder:函數不從unarchiveObjectWithData調用:
- 6. cocoa NSPanel initWithCoder未從MainMenu.nib調用
- 7. 故事板 - initWithCoder被調用兩次
- 8. 什麼時候initWithCoder被調用?
- 9. Objective C - 如何使用initWithCoder方法?
- 10. initWithCoder如何與Interface Builder結合使用?
- 11. 當覆蓋的initWithCoder是它總是需要調用[超級的initWithCoder:編碼器]
- 12. 如何在Swift中編寫initwithcoder?
- 13. 什麼是initWithCoder?
- 14. initWithCoder和initWithNibName
- 15. 在initWithCoder中使用retain?
- 16. initWithCoder方法在被調用時不斷導致崩潰
- 17. initWithCoder:無需導入即可調用類別
- 18. 我是否需要爲NSObject調用[super init]或[super initWithCoder]等等
- 19. NSKeyedUnarchiver不調用-initWithCoder:在設備上(但好於模擬器)
- 20. initWithCoder中NSCoder的用途:? (Cocoa和Cocoa Touch)
- 21. 使用initWithCoder不能影響UITextView內容
- 22. 什麼時候使用initWithCoder:方法?
- 23. 爲什麼initWithCoder需要self.property?
- 24. 在initWithCoder中獲取EXEC_BAD_ACCESS
- 25. initWithCoder:在NSObject中不可見?
- 26. 在initWithCoder中訪問managedObjectContext:
- 27. initWithCoder方法不返回值
- 28. - initWithCoder:當-decodeObjectOfClass:forKey:返回零
- 29. 在initWithCoder上查看1000x1000:
- 30. 的initWithCoder和encodewithCoder在iOS
只需設置您的視圖ViewSubClass從故事板界面生成器。並且initWithCoder會在應用程序午餐時調用並訪問此視圖... – Hindu
但它不會調用initWithCoder方法... – h999
您可以發佈接口生成器的屏幕快照 – Hindu