我正在研究一个开源的pull-to-refresh控件,它在UIViewController类别上调整生命周期方法,如下所示:
- (void)INBPullToRefreshView_viewWillAppear:(BOOL)animated
{
[self setClearNavigationBar:YES];
[self INBPullToRefreshView_viewWillAppear:animated];
UITableView *tableView = self.pullToRefresh.tableView;
tableView.contentOffset = tableView.contentOffset;
self.pullToRefresh.showPullToRefresh = YES;
}
我在调用viewWillAppear
时得到它,它映射到上面的方法,并且调用[self INBPullToRefreshView_viewWillAppear:animated];
将映射到原始viewWillAppear
。
但是,以下是做什么的?:
tableView.contentOffset = tableView.contentOffset;
这里是控件的github source。
答案 0 :(得分:3)
我怀疑作者试图使用setContentOffset:
的副作用,可能会强制重新计算。但作者似乎对该项目很活跃,那么为什么不在github问题中询问intmain?
当然,这种方法调整的标准警告是非常危险和脆弱的。
答案 1 :(得分:2)
我相信你会问一些与调酒本身无关的事情?
设置contentOffset属性将导致发送给对象委托的scrollViewDidScroll:消息。这可能是一种更清洁的方法(或者至少它应该有评论)