我有一個筆尖文件我試圖在代碼中實例化。我的UIViewController的主視圖也是從nib文件加載的。筆尖自動添加到屏幕
這裏是我的UIViewController的viewDidLoad方法:
- (void)viewDidLoad
{
[super viewDidLoad];
UINib *nib = [UINib nibWithNibName:@"MyCustomView" bundle:nil];
NSArray *nibViews = [nib instantiateWithOwner:self options:nil];
MyCustomView *myView = [nibViews objectAtIndex:0];
myView.frame = CGRectMake(100.0f, 100.0f, 91.0f, 91.0f);
[self.view addSubview:myView];
}
這就造成某種無限循環的。如果我註釋掉[self.view addSubview:myView],myView會出現,但屏幕上當前的所有內容都將消失。我不認爲instantiateWithOwner將視圖添加到屏幕上。如果有,我該如何獲得它?
感謝您的幫助。
你是否在Interface Builder以及代碼中聲明XIB名稱?我認爲如果你這樣做會得到一個警告,但它會被編譯。 – 2011-05-19 00:07:26
我的.h/.m文件(用於筆尖的代碼)和筆尖都具有相同的名稱。它基本上是這樣的:MyCustomView.h,MyCustomView.m,MyCustomView.xib。儘管這不是問題,但它似乎是人們做這件事的一般方式。 – Quentamia 2011-05-19 04:13:11
這不是我的意思。在您的MainWindow.xib中,如果您已將自定義視圖設置爲視圖控制器(這是執行此操作的一種方式)。然後,你應該添加一個子視圖與你的筆尖。你會最終得到一個無限循環的子視圖這樣做。 – 2011-05-19 08:42:58