我有一个视图控制器:
@interface DetailViewController : UIViewController
它显示一张地图,并将图钉放在此地图上。当用户点击附件按钮时,我希望另一个视图中的一个注释视图被推到用户面前。
由于某些或其他原因,当我运行以下代码时导航控制器始终为空。
hotelDetailViewController = [[HotelDetailViewController alloc] initWithNibName:@"HotelDetailViewController"
bundle:nil];
if (![self navigationController])
{
NSLog(@"navigation controller null");
}
[self.navigationController pushViewController:hotelDetailViewController animated:YES];
我做错了什么?在什么时候我需要分配和初始化导航控制器,因为它似乎只读?
答案 0 :(得分:4)
我需要在什么时候分配并初始化导航控制器,因为它似乎只读?
好吧,你通常不会自己设置navigationController
属性,你通常会从一开始就设置一个导航控制器,然后将你的DetailViewController
传递给导航控制器,那就是财产设定。
View Controllers编程指南中有关Navigation Controllers的部分介绍了如何使用nib文件或以编程方式设置导航控制器。