模态演示 iOS 11
Modal Presentation iOS 11
我正在展示一个模式,它曾经在 "under" 状态栏前 - iOS 11.
iOS 10:
iOS 11:
我想让它像在 iOS 10
中那样显示
我之前所做的是:
let vc = ReferralsViewController()
vc.modalPresentationStyle = .overCurrentContext
self.present(vc, animated: true, completion: nil)
我在使用情节提要时遇到了同样的问题。在我的项目中,视图不再固定到超级视图。看起来他们已经将顶部约束更改为类型 Superview.Top.Margin
而不是 Superview.Top
。虽然这对我来说可能只是个案。
注意:当我这样做时,我的下拉菜单仍设置为 superview
。我刚切换到另一个选项,然后又回到 superview
。然后我需要将常量值从 20 更改为 0。
更新
至于 crashoverride777 评论,为了使其与 iPhoneX 一起使用,您应该将您的观点固定到新的安全区域。
如您所见,顶部(视图较亮的部分)有一个空隙。
所以我继续研究将该视图连接到超级视图顶部的约束,并将第二项从 Superview.Top.Margin
设置为 Superview.Top
。
最后将第二项从Superview.Top.Margin
更改为Superview.Top
。
因此,首先单击应固定在顶部的视图,然后转到 Show the size inspector
:
所以最后它应该像下面的例子:
原因是因为 Apple 弃用了 Top/Bottom 布局指南并将其替换为 SafeArea。在大多数情况下,您应该将约束固定到 SafeArea 而不是 Superview。当前接受的答案很可能会导致 iPhoneX 出现问题,因为所有内容都固定到超级视图而不是此安全区域。
我正在展示一个模式,它曾经在 "under" 状态栏前 - iOS 11.
iOS 10:
iOS 11:
我想让它像在 iOS 10
中那样显示我之前所做的是:
let vc = ReferralsViewController()
vc.modalPresentationStyle = .overCurrentContext
self.present(vc, animated: true, completion: nil)
我在使用情节提要时遇到了同样的问题。在我的项目中,视图不再固定到超级视图。看起来他们已经将顶部约束更改为类型 Superview.Top.Margin
而不是 Superview.Top
。虽然这对我来说可能只是个案。
注意:当我这样做时,我的下拉菜单仍设置为 superview
。我刚切换到另一个选项,然后又回到 superview
。然后我需要将常量值从 20 更改为 0。
更新 至于 crashoverride777 评论,为了使其与 iPhoneX 一起使用,您应该将您的观点固定到新的安全区域。
如您所见,顶部(视图较亮的部分)有一个空隙。
所以我继续研究将该视图连接到超级视图顶部的约束,并将第二项从 Superview.Top.Margin
设置为 Superview.Top
。
最后将第二项从Superview.Top.Margin
更改为Superview.Top
。
因此,首先单击应固定在顶部的视图,然后转到 Show the size inspector
:
所以最后它应该像下面的例子:
原因是因为 Apple 弃用了 Top/Bottom 布局指南并将其替换为 SafeArea。在大多数情况下,您应该将约束固定到 SafeArea 而不是 Superview。当前接受的答案很可能会导致 iPhoneX 出现问题,因为所有内容都固定到超级视图而不是此安全区域。