【问题标题】:Xcode - Scroll View - Auto LayoutXcode - 滚动视图 - 自动布局
【发布时间】:2017-06-14 11:05:10
【问题描述】:

我正在使用 Xcode 8.3.2 和 Swift 3

创建了一个故事板,其滚动视图与父视图的边距为零

滚动视图的边距如下:

Top, trailing, bottom and leading space to superview as 0

滚动视图有一个子视图,即具有以下边距的容器视图:

Trailing, leading, bottom and top to superview at 0
Align center Y and align Center X in Superview
Intrinsic size to placeholder with height unchecked

XCode 建议把 X 和 Y 放在对齐中心

在容器视图中,我想要两个 UI 视图。我希望蓝色 UI 视图的高度始终为 236。红色视图我希望最小高度为 400,如果有更多可用空间,则可以变得更高

蓝色视图的限制是:

Height = 227
Trailing, leading, bottom to superview at 0
Top to red view as 0

红色视图的约束是:

Height >= 400
Trailing, leading, top to superview at 0
Bottom to blue view as 0

当我翻转手机时,红色视图缩小,蓝色视图保持在 227。

滚动视图似乎无法识别容器大于屏幕尺寸。

什么可能导致滚动视图无法识别容器视图大于屏幕?

屏幕以横向模式旋转的模拟器;即使高度> = 400,红色视图也太小了。没有滚动

【问题讨论】:

  • 容器视图和滚动视图的约束是什么?
  • @Jeff 更新了带有约束的问题

标签: swift xcode swift3


【解决方案1】:

观察:

它似乎可以正常工作。在横向模式下,您的屏幕高度较小。根据您的限制,您希望第一个视图的高度为 227,第二个视图的高度至少为 400。这意味着可能的最小高度加起来为 627。iPhone 5 在横向模式下没有那么多高度.因此,iOS 打破了一些限制来尽可能地布局屏幕(您可能也会在控制台中看到该日志)。

建议:

相应地更改scrollViewcontentSize 以适应约束的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多