【发布时间】:2015-10-20 17:22:36
【问题描述】:
我的视图层次结构是
UIView
UIScrollView
UIView1
-->UIView1.1
-->UILabel
-->UILabel
-->UILabel
-->UILabel (bottom)
我正在使用自动布局。我已经尝试了所有方法并进行了很多搜索。我确实将底部 UILabel 连接到 UIView1 的底部布局并将其优先级设置为 750(最低的)。我几乎尝试了这个论坛和任何地方所说的一切,因为每个人都在说同样的话。
我还在 UIView1.1 中动态添加一个视图。 我不知道为什么这不起作用。 Scrollview 没有正确滚动。 请帮我。我坚持了3天。
【问题讨论】:
-
你需要设置内容大小也许这会帮助你自动设置它:CGRect contentRect = CGRectZero; for (UIView *view in self.scrollView.subviews) { contentRect = CGRectUnion(contentRect, view.frame); } self.scrollView.contentSize = contentRect.size;
-
@MrJomp 即使这样也行不通。我正在向 UIView 动态添加一个视图。这有什么不同吗?
-
也许有时它有助于 NSLog UIViews 的大小和 UIScrollView 的 contentSize 也你检查你是否启用了 UIScrollView 的垂直和水平滚动?如果大小还可以,请尝试检查其他愚蠢的东西,例如“scrollEnabled”和“userInteractionEnabled”。 NSLog是调试这个问题的关键
-
@MrJomp 你是对的。我的内容 size.height 为零。我不知道为什么?它应该从我为标签设置的最后一个约束中获取内容大小到视图。但我得到了零。这就是它不滚动的原因。
-
stackoverflow.com/questions/12846351/… "把UIScrollView里的所有东西放到另一个UIView中,然后把那个UIView作为UIScrollView的唯一孩子,然后就可以使用Auto Layout了。"
标签: ios objective-c uiscrollview autolayout