【问题标题】:Changing UIScrollVIew Content Inset triggers scrollViewDidScroll更改 UIScrollVIew Content Inset 触发 scrollViewDidScroll
【发布时间】:2015-03-31 08:45:03
【问题描述】:

我使用以下代码为我的tableView 设置contentInset

self.scrollView.contentInset = UIEdgeInsetsMake(109, 0, 44, 0);

但这会触发UIScrollView委托方法scrollViewDidScroll:

这是预期的行为吗?如果是这样,是否有任何解决方法可以避免这种情况?
提前致谢。

【问题讨论】:

    标签: ios objective-c uiscrollview


    【解决方案1】:

    您可以在设置内容插入之前尝试删除滚动视图委托。然后重新申请委托。

    id scrollDelegate = scrollView.delegate;
    scrollView.delegate = nil;
    scrollView.contentInset = UIEdgeInsetsMake(109, 0, 44, 0);
    scrollView.delegate = scrollDelegate;
    

    【讨论】:

    • 嗨。问题是关于contentInset,而不是contentOffset。是的,我确实尝试过这种方法。但它没有帮助。
    【解决方案2】:

    只需使用一个变量来检查您是否要在触发 scrollViewDidScroll 时进行操作。在 scrollViewDidScroll 中检查此变量并相应地应用您的操作。它是唯一对我有用的解决方案。在要跳过之前将此变量设置为 true 或 false。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2011-11-11
      • 2015-11-28
      相关资源
      最近更新 更多