Iphone InitWithNibName返回viewController,但视图为nil
其他xib的自动加载很好,但不是这个 当我按下这个viewcontroller时,initWithNibName、loadView、viewDidLoad和ViewWillDisplay都被调用为fine,但是视图(以及@interface中的所有self.xxx对象)在所有这些方法中都是nil,导航栏下留有一个空窗口Iphone InitWithNibName返回viewController,但视图为nil,iphone,ipad,xib,loadview,Iphone,Ipad,Xib,Loadview,其他xib的自动加载很好,但不是这个 当我按下这个viewcontroller时,initWithNibName、loadView、viewDidLoad和ViewWillDisplay都被调用为fine,但是视图(以及@interface中的所有self.xxx对象)在所有这些方法中都是nil,导航栏下留有一个空窗口 SettingsMain *newVC=[[SettingsMain alloc] initWithNibName:@"SettingsMain" bundle:nil]; [s
SettingsMain *newVC=[[SettingsMain alloc] initWithNibName:@"SettingsMain" bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];
我想知道是否可以强制将self.view设置为.xib、loadView或initWithNibName中的内容,以便初始化所有插座等
viewcontroller具有标准代码
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
问题是,当启动viewDidLoad时,self.view为nil。您是否在nib文件中为视图设置了出口?由于loadView方法仅在view属性为“nil”时调用,因此可能是您忘记在SettingsMain xib文件中将outlet设置为view。否,它已连接。什么可以将其设置为nil,或者“读取连接并设置.view”需要什么?我猜,-init或-initWithFrame:。但xib的要点是不必编写这些文件。文件的所有者设置正确吗?还有ViewControllerClass?当调用initWithNibName方法时,调试窗口告诉您什么?有时候你会得到一些有用的提示。