我有以下MasterViewController:
- (id) init{
self = [super init];
if(self){
//self.title = @"Main Menu";
//self.clearsSelectionOnViewWillAppear = NO;
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"view-1_0000s_0000_Muskoka-Logo1"]];
self.navigationItem.titleView = imageView;
self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.opaque = NO;
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"view-1_0002s_0003s_0001_Bottom-panel"]];
self.tableView.scrollEnabled = NO;
}
return self;
}
当我尝试设置tableviewcontroller的背景颜色时崩溃,因为master中的tableview为null。那里的图像当然不是空的。
我唯一的猜测是[super init]无法正常工作?
答案 0 :(得分:1)
视图控制器的视图和子视图在加载之前不存在,这将在loadView
期间发生(其中视图层次结构是在代码中或从xib构建的)所有这些自定义都应该在{ {1}}。我很惊讶它正在崩溃,但是消息为零不会导致崩溃。