也许这是一个太简单的问题,但我有点卡在这里。我已经实现了一个继承自 UITableViewController 的类。此类是我通过代码构建的 Split View的根 Controller ,而不是使用 Interface Builder。问题是我试图从表中的附件 View 中显示详细 View ,而我的实例中的 navigationController 属性为零。我不知道如何实例化一个新的 UINavigationController 以便能够在我的代码中显示详细 View 。
这就是我尝试使用附件按钮的方式:
- (void)tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
PartDetailViewController *partDetailViewController =
[[PartDetailViewController alloc] initWithNibName:@"PartDetailView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:partDetailViewController animated:YES];
[partDetailViewController release];
}
任何提示将不胜感激。
提前致谢,
费德里科
最佳答案
如果 self.navigationController 为 nil,则意味着您没有将 UITableViewController 实例“推送”到导航 Controller 中。
所以我可以根据您的描述想象,您有一个带有 UISplitViewController 的 iPad 应用程序,并且您的表已在 Split View的“根” View Controller 内实例化,因此具有如下层次结构:
UISplitViewController ==>(root)==> UITableViewController
.如果是这种情况,您需要做的是创建一个 UINavigationController,将 TableView Controller 推送到 UINavigationController 中,然后根据以下模式将 Split View“根” Controller 定义为 UINavigationController:
UISplitViewController ==>(root)==> UINavigationViewController ==> UITableViewController
希望这可以帮到你。
关于iphone - 创建一个 UINavigationController 以在没有 Interface Builder 的 UITableViewController 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875879/