模态演示iOS 11

时间:2017-09-28 01:04:55

标签: ios swift ios11

我正在呈现一个模态,它过去常常在" iOS 11之前的状态栏。

iOS 10: enter image description here

iOS 11: enter image description here

我想让它像在iOS 10中一样显示

之前我所做的就是以下内容:

let vc = ReferralsViewController()
vc.modalPresentationStyle = .overCurrentContext
self.present(vc, animated: true, completion: nil)

2 个答案:

答案 0 :(得分:3)

我使用Storyboard时遇到了同样的问题。在我的项目中,视图不再固定在superview上。看起来他们已将顶部约束更改为Superview.Top.Margin类型而不是Superview.Top。虽然它对我来说可能只是个案。

注意:当我执行下拉操作时,我的设置仍为superview。我刚切换到另一个选项,然后回到superview。然后我需要将常量值从20更改为0.

<强>更新 至于crashoverride777评论,为了使其适用于iPhoneX,您应该将视图固定到新的安全区域。

正如您所看到的,顶部有一个间隙(视图的较亮部分)。

enter image description here

所以我继续使用将该视图连接到超级视图顶部的约束,并将第二项设置为Superview.Top.MarginSuperview.Top

最后将第二项从Superview.Top.Margin更改为Superview.Top

首先点击应固定在顶部的视图,然后转到Show the size inspector

enter image description here

所以最后它应该像下面的例子:

enter image description here

答案 1 :(得分:1)

原因是Apple弃用了Top / Bottom布局指南并将其替换为SafeArea。在大多数情况下,您应该将约束固定到SafeArea而不是Superview。目前接受的答案很可能会导致iPhoneX出现问题,因为所有内容都固定在superview而非SafeArea上。