我使用以下代码为contentInset
设置tableView
。
self.scrollView.contentInset = UIEdgeInsetsMake(109, 0, 44, 0);
但这会触发UIScrollView
委托方法scrollViewDidScroll:
。
这是预期的行为吗?如果是这样,有没有办法解决这种情况?
提前谢谢。
答案 0 :(得分:4)
您可以在设置内容插入之前尝试删除滚动视图委托。然后重新申请代表。
id scrollDelegate = scrollView.delegate;
scrollView.delegate = nil;
scrollView.contentInset = UIEdgeInsetsMake(109, 0, 44, 0);
scrollView.delegate = scrollDelegate;
答案 1 :(得分:0)
只需使用变量来检查是否要在触发 scrollViewDidScroll 时采取措施。然后在 scrollViewDidScroll 中检查此变量并相应地应用您的操作。它是我唯一的解决方案。要跳过此变量时,请将其设置为true或false。