我目前正在UITableView
添加到由UIView
管理的UIViewController
(所有在IB中定义)
现在我想向UITableViewController
添加一些UITableView
功能(选择文本字段时自动滚动,管理刷新控制,自动插入等)。如何在不使用UITableViewController
的情况下管理整个布局(我想在我的视图中添加其他内容,以便UITableViewController
不是一个选项)并且不自行重新创建整个功能?< / p>
答案 0 :(得分:3)
即使您使用普通UITableViewController
来管理包含它的视图,也可以为已初始化的UITableView
设置UIViewController
。
创建UITableViewController
,将已存在的UITableView
设置为托管表视图,然后将其作为子UIViewController
添加到当前的viewcontroller。
示例(用于viewDidLoad
方法):
UITableViewController *tableViewController = [[UITableViewController alloc] initWithStyle:yourTableView.style];
tableViewController.tableView = yourTableView;
[self addChildViewController:tableViewController];
这将添加您想要的所有功能,同时仍支持在视图中添加更多组件。
答案 1 :(得分:0)
如果您使用常规视图控制器,只需记住闪烁滚动条并取消选择适当位置的当前选定行。这是我的一个宠儿。 UITableViewController
默认执行此操作:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView flashScrollIndicators];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow
animated:animated];
}