首页 > 解决方案 > iPhoneX 中安全区域的 UIStoryboard 约束问题(如何创建安全区域高度相等的视图?)

问题描述

在我看来,我这样做是为了产生弹跳效果。我有一个 UIViewController,我在其中放置了滚动视图,并在滚动视图中放置了一个内容视图 (UIView)。我在内容视图的底部有一个“LETS GO”按钮(转到下一个屏幕)。我希望内容视图的高度等于 UIViewController 视图的高度。我确实从情节提要中分配了约束,但问题是,内容视图的高度总是比我预期的要大,按钮隐藏在 iPhone X 屏幕的底部,所以我总是必须滚动才能看到该按钮。这是由于 iPhone X 的安全区域造成的问题。

我试图通过减少 UIViewController 视图高度的安全区域填充以编程方式添加约束。但是当我旋转屏幕时,问题就存在了。我希望从情节提要中解决这个问题。我该如何解决这个问题?

在此处输入图像描述 在此处输入图像描述

标签: iosswiftuistoryboardiphone-xsafearealayoutguide

解决方案


我希望这是你所要求的。当我添加滚动视图时,我这样做:我将滚动视图放在主 vc 的视图中,将其固定到安全区域,然后将 UIView 放在滚动视图中并将其固定到超级视图(所以滚动视图,请参见屏幕截图)。在故事板的 iPhone X 视图中工作很好,因为您可以更好地控制固定滚动视图的位置。然后我从内容视图 ctrl-drag 到 vc 的主视图并执行 Equal widths,并从内容视图 ctrl-drag 到 Safe Area 并执行 Equal Heights,并将约束的优先级更改为 250(以便垂直滚动)。

在此处输入图像描述


推荐阅读