我正在做一个项目,在这个项目中,我必须大量地使用UITableViews。因此,我希望检测表视图(UIScrollView)是否正在滚动。
首先,我在UIViewController中使用UIViewController处理它,其中添加了作为子视图的UITableView。现在,为了保持代码整洁,我想要子类UITableView,在这个类中,我必须访问UIScrollView的委托方法,例如- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView。
但我该怎么做呢?有可能吗?
发布于 2011-11-02 18:10:05
您所要做的就是实现- (void)scrollViewDidScroll:(UIScrollView *)scrollView委托&检测滚动是否发生在您的UITableView或其他地方。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollView == self.tableView)
{
//your logic here
}
return;
}发布于 2011-11-02 22:52:25
这些UIScrollViewDelegate方法必须在要处理滚动更改的表视图的委托类中定义。如果将这些方法放入UITableView子类的实现文件中,则应该将tableview的委托设置为自身:
[self setDelegate:self];但是,还必须在UITableViewDelegate子类中定义UITableView和UITableViewDataSource方法。如果您想在项目中使用多个位置的UITableView子类,这可能会使事情复杂化。如果我是你,我会加倍考虑我的设计,并相应行事。
https://stackoverflow.com/questions/7985160
复制相似问题