【问题标题】:Add a UINavigationBar to a UITableViewController without a UINavigationController将 UINavigationBar 添加到没有 UINavigationController 的 UITableViewController
【发布时间】:2010-10-27 16:19:17
【问题描述】:

我有一个以前在 UINavigationController 中使用的现有 UITableViewController。

我需要将其转换为模态视图。但是,我仍然希望在顶部有一个导航栏。我知道这听起来很奇怪——如果我想要一个 UINavBar,为什么不把它呈现在 UINavigationController 中呢?我想在没有与我的 UINavigationController 关联的 UITabBarController 的情况下呈现它。

我尝试打开 XIB,添加新视图,将 UITableView 移动为子视图并将 NavigationBar 添加到该新视图。然而,这似乎没有产生任何影响,并且仍然呈现整个 tableview - 没有导航栏可见。我认为这是因为该类是 UITableViewController 的子类。

我需要将其转换为 UIViewClass 吗?在代码中或通过 Interface Builder 将导航栏添加到现有的 UITableViewController 有没有好的方法?

感谢您提供有关如何处理此问题的任何建议。

【问题讨论】:

    标签: iphone uitableview uinavigationbar


    【解决方案1】:

    您是否更改了文件所有者视图的 XIB 中的连接?它应该指向包含导航栏和表格视图的外部视图。

    但我不确定我是否理解您为什么不想使用导航控制器。只需这样做:

    MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
    UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
    [self presentModalViewController:navController animated:YES];
    

    我在呈现模态视图时一直这样做 - 这似乎比直接在视图中包含导航栏更干净。

    【讨论】:

    • 谢谢。这对我来说有点像前额拍板。很有道理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2016-03-27
    • 1970-01-01
    相关资源
    最近更新 更多