iphone - 创建一个 UINavigationController 以在没有 Interface Builder 的 UITableViewController 中使用

标签 iphone ios ipad

也许这是一个太简单的问题,但我有点卡在这里。我已经实现了一个继承自 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/

相关文章:

iphone - Xcode 项目中有两个相同的文件名

ios - 如何在 iOS 中制作像 Book 封面这样的动画?

c# - 从后台调用?

javascript - 使用 JavaScript 包装 HTML5 视频元素会破坏 iOS 中的视频播放器

iphone - 停止旋转 youtubevideo player ios sdk

iphone - 播放声音,等待播放完成并继续 (iphone)

iphone - NSInteger 和 facebookId

ios - 不在 guard 语句中使用展开

iphone - 我可以获取我公司在设备上安装的应用程序的列表吗?

forms - iPad 日期时间输入值格式