UIModalPresentationStyle.FormSheet始终在iPad上全屏(SWIFT)

Yog*_*ton 8 objective-c uiviewcontroller uimodalpresentationstyle presentviewcontroller swift

我正在尝试将一些Objective-C代码翻译成SWIFT.

我正在加载一个UIViewController作为表单.这是objective-c中的代码:

generalPopup.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
generalPopup.modalPresentationStyle = UIModalPresentationFormSheet;
Run Code Online (Sandbox Code Playgroud)

这是Swift中的代码:

generalPopup.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
generalPopup.modalPresentationStyle = UIModalPresentationStyle.FormSheet
Run Code Online (Sandbox Code Playgroud)

在Objective-C中,视图显示为FormSheet.在swift中,CoverVertical被维护,但视图占据整个屏幕而不是显示为FormSheet.

提醒一下,据Apple称,FormSheet是:

一种视图演示样式,其中所呈现视图的宽度和高度小于屏幕的宽度和高度,并且视图以屏幕为中心.如果设备处于横向方向且键盘可见,则向上调整视图的位置以使视图保持可见.所有未覆盖的区域都是灰色的,以防止用户与它们进行交互.

Mun*_*ndi 1

继续引用文档中的内容:

在水平紧凑的环境中,此选项的行为与 UIModalPresentationFullScreen.

看来你有一个“水平紧凑的环境”。检查 swift 项目中的故事板设置。