【问题标题】:Nested UIScrollViews and AutoLayout嵌套的 UIScrollViews 和 AutoLayout
【发布时间】:2014-02-13 03:44:08
【问题描述】:

我在 StackOverflow 中看到了几个关于 UIScrollViewAutoLayout 的类似问题,但现在轮到我了,因为我无法使其正常工作。

我的想法是有一个水平滚动的内部UIScrollView(包含一组图像)和一个外部UIScrollView,除了上面的内部之外,还包含多个UILabelUITextView 对象并垂直滚动。

没有AutoLayout,两者的行为都像预期的那样,但不幸的是大小和来源都不正确。使用AutoLayout,外部UIScrollView,滚动一点,但内部根本不动。我可以确认内部UIScrollViewviewDidLoad 期间具有正确的ContentSize,但稍后在代码中具有0,0。

以下是带有视图和关联Constrains 的屏幕截图。

有什么想法吗?

更新

对于可能面临与我相同问题的其他人。 就我而言,UIPageControl 似乎把整个事情搞砸了。正如您在屏幕截图中看到的那样,我将寻呼机作为内部UISrollView 的子视图错误!!!

我只是简单地移出UIPageControl(成为外部的子视图)并让 Xcode 完成剩下的工作(编辑器 > 解决自动布局问题 > 在视图控制器中添加缺少的约束)。在那之后,UIScrollViews 对自己进行了自我评估(正如 Apple 在文档中所述)。我在这上面花了很多时间。我希望我的解决方案可以节省其他人的时间。

我正在开发 Xcode5

【问题讨论】:

    标签: ios iphone ios7 uiscrollview storyboard


    【解决方案1】:

    我已经通过 2 个步骤解决了 UIScrollView 内容问题:

    1. 选择 UIScrollView,转到编辑器>解决自动布局问题>添加缺少的约束
    2. 添加一个 IBOutlet NSLayoutConstraint 来表示您要放入 UIScrollView 中的任何内容的高度,例如UIWeb 视图。将此插座连接到您通过情节提要添加的高度约束。

    @property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;

    //一旦元素被绘制就设置常量

    self.heightConstraint.constant = frame.size.height;

    希望这会有所帮助。

    【讨论】:

    • 没有区别。顺便问一下,当我的UIScrollView 水平滚动时,如何设置高度属性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多