項(xiàng)目中遇到了個(gè)問(wèn)題,下拉刷新在iOS 11中出現(xiàn)無(wú)法停止的bug。問(wèn)題的原因主要是蘋(píng)果在iOS11后將Self-Sizing默認(rèn)打開(kāi)。
原因:也就是iOS11中UITableView在reloadData時(shí)contentOffset發(fā)生了改變,這時(shí)候MJRefresh監(jiān)聽(tīng)了contentOffset的變化,就導(dǎo)致再一次的調(diào)用上拉加載,變成了循環(huán)調(diào)用。
解決辦法如下:
// iOS11下不想使用Self-Sizing的話(huà),可以通過(guò)以下方式關(guān)閉:
//添加以下代碼
if (IS_IOS_11) {
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
}