8

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

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

generalPopup.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
generalPopup.modalPresentationStyle = UIModalPresentationFormSheet;

这是 Swift 中的代码:

generalPopup.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
generalPopup.modalPresentationStyle = UIModalPresentationStyle.FormSheet

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

提醒一下,根据 Apple 的说法,FormSheet 是:

一种视图呈现样式,其中呈现的视图的宽度和高度小于屏幕的宽度和高度,并且视图在屏幕上居中。如果设备处于横向且键盘可见,则视图的位置会向上调整,以便视图保持可见。所有未覆盖的区域都变暗,以防止用户与其交互。

4

1 回答 1

1

继续从文档中引用:

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

看起来你有一个“水平紧凑的环境”。检查 swift 项目中的情节提要设置。

于 2014-08-31T09:46:56.570 回答