将委托添加到自定义UITableView

时间:2012-12-09 12:10:45

标签: iphone objective-c ios uitableview delegates

我的UITableView中集成了自定义ViewController,其中包含更多元素,我尝试添加UITableView控件来刷新其内容,例如twitter app。问题是我无法在ViewController中捕获tableview的滚动条。如果我设置自定义delegate的{​​{1}},那么我可以捕获滚动但我遇到自定义表行为的麻烦。 所以,我不知道它有什么更好,要么找到为滚动添加委托而没有覆盖任何东西的方法,要么找到一种方法来添加控件以从ViewController刷新表,而不是从UITableView类。

更详细的案例是:

  • 自定义UITableView的库。它曾经像消息应用程序一样绘制对话。所以我只是将信息传递给表格,表格绘制它。我不做任何事情,不代表任何事情,只需将表格添加到我的ViewController。

  • 我将滚动代理的方法放在我的ViewController中,当我在表格中滚动时,我没有得到任何东西(应用程序没有输入滚动的委托方法)。如果我将表格的代表设置为自己,则滚动有效,但我从表格中得到一些随机问题(我不知道它是如何制作表格的),所以我不得不放弃这个选项(设置委托)。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试使用UIRefreshControl对象。您可以在viewDidLoad方法的viewController中定义此对象,并在其值更改时将目标添加到tableView,这是一个示例:

self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self.tableView action:@selector(reloadData) forControlEvents:UIControlEventValueChanged];

你的viewController需要是一个UITableViewController。要启动和结束刷新,请使用以下方法:

[self.refreshControl beginRefreshing];
[self.refreshControl endRefreshing];