Iphone 将委托添加到自定义UITableView

Iphone 将委托添加到自定义UITableView,iphone,objective-c,ios,uitableview,delegates,Iphone,Objective C,Ios,Uitableview,Delegates,我有一个自定义的UITableView集成在我的ViewController中,有更多的元素,我试图向UITableView添加一个控件来刷新它的内容,比如推特应用程序。问题是我无法在ViewController中捕获tableview的滚动条。如果我设置自定义UITableView的委托,那么我可以捕获滚动条,但自定义表行为会出现问题。 因此,我不知道什么更好,要么找到一种方法来添加滚动的委托而不重写任何内容,要么找到一种方法来添加控件以从ViewController而不是从UITableVi

我有一个自定义的
UITableView
集成在我的
ViewController
中,有更多的元素,我试图向
UITableView
添加一个控件来刷新它的内容,比如推特应用程序。问题是我无法在ViewController中捕获tableview的滚动条。如果我设置自定义
UITableView
委托
,那么我可以捕获滚动条,但自定义表行为会出现问题。 因此,我不知道什么更好,要么找到一种方法来添加滚动的委托而不重写任何内容,要么找到一种方法来添加控件以从ViewController而不是从UITableView类刷新表

案件详情如下:

  • 自定义UITableView的库。它被用来画一段对话,就像短信应用程序一样。所以我只需将信息传递给表格,表格就会绘制它。我不再做任何事情,不再委派,什么也不做,只需将表添加到我的ViewController中

  • 我将滚动的委托方法放在我的ViewController中,当我在表中滚动时,我什么也得不到(应用程序不会输入滚动的委托方法)。如果我将表格的委托设置为self,滚动会正常工作,但我会从表格中发现一些随机问题(我不知道表格是如何生成的),因此我必须放弃此选项(设置委托)


提前感谢

尝试使用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];

设置代理时会遇到什么样的问题?TableView就像messages应用程序一样。问题在于,超过两行的消息显示不正确,有时一行在另一行之上,例如,拉入刷新控件使用的是什么类?通常,它们只需将其指定给滚动视图即可工作。他们在内部观察
contentOffset
属性。您需要用一些细节和代码来展开问题。你有多个滚动视图吗?控件如何识别视图控制器的滚动?您是否在主线程中执行所有更新?