【问题标题】:iPhone: add navigation bar to tableview subclassiPhone:将导航栏添加到 tableview 子类
【发布时间】:2011-12-16 15:05:30
【问题描述】:

我的视图控制器将打开作为 UITableView 子类的模态视图。 UITableView 子类没有导航栏。那么如何以编程方式添加它?因为我需要取消按钮来关闭这个模态视图。

【问题讨论】:

    标签: iphone cocoa-touch uitableview uinavigationcontroller uinavigationbar


    【解决方案1】:

    将表格视图控制器添加到导航控制器,并以模态方式呈现导航控制器。例如(这都是伪代码,因为我不确定确切的方法名称):

    MyTableViewController *tvc = [[MyTableViewController alloc] init];
    tvc.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" target:self action:@selector(dismissModalViewController)];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tvc]];
    [self presentModalViewController:navController];
    

    【讨论】:

      【解决方案2】:

      如果您希望它通过导航栏和后退按钮推送视图并且您正在使用 TableView 控制器,那么为什么不直接使用 NavigationController 来推送它,因为这会默认为您提供导航栏和后退按钮?

      【讨论】:

      • 我用导航控制器推送它,但在我的表格视图子类中没有导航棒
      • 可能是因为我使用的是 UITableview 子类而不是 UIViewController
      • 我上面的人的答案会起作用,这取决于您是否想要第一个视图控制器中的导航栏。如果您不使用上面的选项并以模态方式推动导航控制器。如果你想在两个视图中都有栏,那么使用一个导航控制器,第一个视图已经被推送,然后在适当的时候推送表格视图控制器。在这种情况下,虽然你不是模态的,但模态视图控制器推送是让一个独立的视图完全滑过你的当前视图。
      猜你喜欢
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      相关资源
      最近更新 更多