0

我正在创建一个基于 UINavigationController 的应用程序。在第一个视图中,我有一个 UITableViewController。

我希望拥有与联系人应用程序相同的行为。1) 用户选择联系人 2) 系统显示联系人详细信息 3) 用户选择返回按钮 4) 系统返回tableview,并淡出单元格

如果我创建一个 UIViewController 和一个带有 UITableView 的 xib,我只能这样做。然后添加以下代码:

- (void)viewDidAppear:(BOOL)animated{
    if ([self.mytableView indexPathForSelectedRow] != nil){
        [self.mytableView deselectRowAtIndexPath:[self.mytableView indexPathForSelectedRow] animated:YES];
    }
}

我真的不想只为此而拥有一个xib。那么是否可以使用 UITableViewController 来实现呢?

4

1 回答 1

1

是的。AUITableViewController是的子类,UIViewController因此您可以根据需要覆盖该viewDidAppear:animated方法。

如果您想以UITableViewControl编程方式创建(即不从 nib 加载它),则必须手动配置UITableView. 请参阅UITableViewController类参考中的以下内容:

  • 如果通过initWithNibName:bundle:方法(由超类声明UIViewController)指定了 nib 文件, 则UITableViewController加载归档在 nib 文件中的表视图。否则,它会创建一个UITableView具有正确尺寸和自动调整大小蒙版的未配置对象。tableView您可以通过该属性访问此视图。
  • 如果加载了包含表视图的 nib 文件,则数据源和委托将成为 nib 文件中定义的那些对象(如果有)。如果未指定 nib 文件或 nib 文件未定义数据源或委托,UITableViewController则将表视图的数据源和委托设置为self.
于 2009-10-22T21:29:08.283 回答