iphone - 将委托(delegate)添加到自定义 UITableView

标签 iphone objective-c ios uitableview delegates

我在我的 ViewController 中集成了一个自定义 UITableView,其中包含更多元素,并且我尝试向 UITableView 添加一个控件来刷新它的内容,如 Twitter 应用程序。问题是我无法捕获 ViewController 中 tableview 的滚动。如果我设置自定义 UITableViewdelegate,那么我可以捕获滚动,但自定义表格行为会遇到麻烦。 所以,我不知道哪个更好,要么找到添加滚动委托(delegate)而不覆盖任何内容的方法,要么找到添加控件以从 ViewController 而不是从 UITableView 类刷新表格的方法。

更详细的案例是:

  • 自定义 UITableView 的库。它用于像消息应用程序一样绘制对话。所以我只是将信息传递给表格,然后表格绘制它。我不再做任何事情,不委托(delegate),什么也不做,只是将表添加到我的 ViewController 中。

  • 我将滚动委托(delegate)的方法放入 ViewController 中,并且当我在表中滚动时,我什么也得不到(应用程序没有进入滚动的委托(delegate)方法)。如果我将表的委托(delegate)设置为 self,则滚动可以工作,但我从表中得到一些随机问题(我不知道它是如何制作表的),所以我必须放弃此选项(设置委托(delegate))。

提前致谢

最佳答案

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

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

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

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

关于iphone - 将委托(delegate)添加到自定义 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787270/

相关文章:

iphone - UIImageView 对比 UIView 的 drawRect 显示图片

iOS 应用内购买 : Objective-c

objective-c - 意外删除 iOS 框架

ios - iCloud:在 IOS 和 OSX 之间同步核心数据

ios - 来自 BLE 设备的 Cadence

ios - 当我尝试打开某些应用程序时 iOS 9 中的问题

iphone - 为什么 -[UISectionRowData refreshWithSection :tableView:tableViewRowData:]? 中断言失败

iphone - 图像的缩略图 View

iphone - 使用推送通知从 iOS 设备删除应用程序

objective-c - Cocos2D setvisible =no 动画结束后