【发布时间】:2014-08-12 07:31:32
【问题描述】:
我想将滚动视图的内容视图设置为当前屏幕大小,但 AutoLayout 正在做一些时髦的事情。这在代码中是微不足道的......只需创建一个带有作为超级视图边界的框架的滚动视图。然后创建一个带有滚动视图边界的内容视图并填充它并将alwaysBounces... 属性设置为YES。不过,在界面生成器中,这似乎是一种罪恶的事情。
我知道 Autolayout 处理滚动视图的方式完全不同,因为它想根据约束来推断内容大小。我失败的方法是将滚动视图设置为与其超级视图的距离为 0(所有边都连接)。然后,与内容视图(单个 scrollView 子视图)相同 - 附加到所有超级视图边缘。然后预编译器抱怨不知道内容大小,所以我在占位符处设置了宽度和高度约束,以便在构建时删除。但结果是 (CGRect){0,0,0,0} contentView。 superview 的后沿和底部的 0 空间被完全忽略。
那么如何根据屏幕大小制作具有动态内容大小的滚动视图?
如果你能解释你将如何做同样的事情,但内容大小是屏幕宽度的 2 倍,则可以获得奖励积分。
【问题讨论】:
标签: xcode cocoa-touch uiscrollview interface-builder autolayout