【问题标题】:UIScrollView don't go all over the screen when trying to pin it to the bottom of the superview尝试将 UIScrollView 固定到超级视图的底部时,它不会遍布整个屏幕
【发布时间】:2016-03-31 23:07:21
【问题描述】:

我正在尝试在我的简单学习应用程序中修复覆盖 UIScrollView 错误的键盘内容。键盘没有覆盖我的文本字段,但它覆盖了我的其他内容。所以我在屏幕底部有文本字段,我把 UIScrollView 放在下面。 我为滚动视图设置了以下约束:

Scroll View.top = TextField.bottom +5
trailing = Scroll View.trailing
leading = Scroll View.leading
Bottom Layout Guide.top = Scroll View.bottom

在滚动视图中,我的 UIView 包含我的所有内容。该 UIView 固定在滚动视图的边缘(前导、尾随、顶部和底部),并且与 View 具有相同的宽度。 所以它在 4 英寸显示器上看起来不错,如下所示: iPhone 4 inch

但在更大的屏幕上,它不会遍布整个屏幕。这是屏幕截图: iPhone 5.5 inch

在 iPad 上情况变得更糟。所以我不明白为什么会发生这种奇怪的事情。谁能帮帮我?

【问题讨论】:

    标签: ios objective-c xcode uiscrollview


    【解决方案1】:

    当您处理自动布局时,我曾遇到过这样的问题。我建议您检查以下几点。

    1. 请检查scrollview contentsize 是否等于scrollview 内UIView 的高度。
    2. 确保在滚动视图内的所有 UI 组件中都有约束。
    3. 还要检查滚动视图或内部容器视图/表格视图中是否存在任何高度限制,即在表格视图高度等中明确设置高度限制。
    4. UIView 底部对滚动视图的约束应该是等于属性。
    5. 在 xcode 项目中启用异常断点,并检查在运行应用时是否在 xcode 控制台中出现任何自动布局异常。

    【讨论】:

    • 感谢您的回答!我只是试图删除 UIScrollView 内部的 UIView 的所有约束,并设置新的约束:滚动视图的等宽和等高;将 X 和 Y 中心对齐到滚动视图。这奏效了。这样问题就解决了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2022-11-18
    • 2013-01-29
    • 1970-01-01
    • 2019-08-18
    • 2013-03-15
    相关资源
    最近更新 更多