【问题标题】:UIScrollView changes content offset on presentModalViewControllerUIScrollView 更改 presentModalViewController 上的内容偏移量
【发布时间】:2011-11-24 10:49:50
【问题描述】:

每当我在其上方显示模态视图控制器时,我的视图层次结构中的UIScrollView 都会表现得很时髦。它会自动调整内容偏移并将我的内容向下移动约 40 像素。我似乎无法弄清楚如何阻止这种情况。

窥探之后,我发现presentModalViewController 以某种方式触发了我的UIScrollView 上的私有方法_adjustContentOffsetIfNecessary,这就是改变偏移的原因。

知道这是否是 Apple 的错误?或者我的UIScrollView 有什么问题?无论如何要禁用此_adjustContentOffsetIfNecessary 方法或至少禁用此副作用?

【问题讨论】:

  • 仅供参考,我正在使用我的 ViewController presentModalViewController 方法上的 Category 来解决这个问题,该方法保存问题 UIScrollView contentOffset 然后将其设置回来。当我解除模式视图控制器时,我还会重新加载 UIView 层次结构中的数据。我仍然想找到一个更优雅的解决方案,因为我不必要地重新加载数据,这会产生处理开销
  • 您是否尝试将属性 scrollEnabled 设置为 NO 然后返回 YES ?
  • 我会试试的。似乎是一个奇怪的修复
  • 这还行吗@JustinMilo?

标签: iphone ios uiscrollview


【解决方案1】:

虽然不是很花哨,但我解决了这个在presentingViewController的viewDidAppear中重置内容偏移的问题。

【讨论】:

    【解决方案2】:

    尝试将包含 UIScrollView 的 ViewController 的属性 automaticallyAdjustsScrollViewInsets 设置为“NO”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多