使用Autolayout的UIScrollView只会反弹

时间:2013-11-19 16:27:39

标签: ios uiscrollview autolayout uistoryboard

我真的很难让UIScrollView与Autolayout一起正常工作。它不是向下滚动,而是反弹,所以如果我拖动它以便在我松开后立即看到更多,它将返回其原始位置。

我按以下方式设置场景:
- 主要观点
- 滚动视图
- 内容视图
- 标签
- 标签

View Controller的大小指标设置为Freeform。主视图,滚动视图和内容视图都将其高度设置为700,因此我可以正确地看到布局。

在我的.h文件中,我有一个连接到UIScrollView的插座,在我的viewDidLoad方法中,我正在执行以下操作:

Scroller.translatesAutoresizingMaskIntoConstraints = YES;
[self.Scroller setContentSize:CGSizeMake(320, 1000)];

我已尝试在各种事情上设置各种约束。通常当我添加一个新的Xcode然后抱怨约束不正确并提示我更新它们。我尝试了很多不同的变化,我不记得它们,但这里有几个:

  1. 固定滚动视图的高度
  2. 将内容视图的底部固定到滚动视图 - Getting UIScrollView to work with AutoLayout
  3. 固定内容视图的高度
  4. 我尝试过的其他事情:

    1. 阅读&关注Apple的Technote: - https://developer.apple.com/library/ios/technotes/tn2154/_index.html
    2. 设置ScrollView的内容插入 - Confusion Regarding UIScrollView and AutoLayout
    3. 设置内容大小:UIWebView's UIScrollView subview can scroll but bounce back to the frame without appearing vertical scroll indicator
    4. 我相信这一定是相对直接的,但我一直在撕扯我的头发。 Stackoverflow和Google上有许多类似的问题,但它们似乎都没有完全符合我的要求。

      非常感谢任何帮助或资源。

      JA

1 个答案:

答案 0 :(得分:2)

一个可能的原因是滚动视图的contentSize在viewDidLoad之后发生的布局事件后重置(例如由于不正确的约束设置)。