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

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 是:
一个视图展示样式,在此样式下,呈现的视图的宽度和高度小于屏幕的宽度和高度,并且视图居中显示在屏幕上。如果设备处于横向方向并且键盘可见,则将视图的位置向上调整,以使视图保持可见。所有未覆盖的区域都被暗淡处理,以防止用户与其进行交互。
1个回答

1

继续引用文档中的内容:

在水平紧凑的环境下,此选项的行为与 UIModalPresentationFullScreen 相同。

看起来你处于“水平紧凑的环境”中。请检查 Swift 项目中的 storyboard 设置。


我在哪里可以检查这个设置? - YogevSitton
检查IB中的segue类型。检查视图控制器及其视图的尺寸。 - Mundi
没有segue。调用的ViewController来自StoryBoard,但被调用的(FormSheet)视图控制器使用独立的XIB。 - YogevSitton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接