Swift - iOS 9:如何在 iOS 9 中呈现具有自定义大小的 UIViewController? [复制]

Posted

技术标签:

【中文标题】Swift - iOS 9:如何在 iOS 9 中呈现具有自定义大小的 UIViewController? [复制]【英文标题】:Swift - iOS 9: How do i present UIViewController with custom size in iOS 9? [duplicate] 【发布时间】:2016-03-10 19:23:50 【问题描述】:

我有一个视图,我想显示一个自定义大小的 UIViewController。但我没有成功。这是我的代码。

var vx = KeyboardViewController()
vx.modalPresentationStyle = UIModalPresentationStyle.FormSheet
vx.preferredContentSize = CGSizeMake(self.view.frame.width, 150)    
self.presentViewController(vx, animated: true, completion: nil)

这个 UIViewController 以全屏尺寸显示

【问题讨论】:

【参考方案1】:

您需要为呈现的视图控制器提供一个自定义的transitioningDelegate,然后它将能够将自定义的 UIPresentationController 插入到呈现过程中,您将适当地覆盖其frameOfPresentedViewInContainerView

【讨论】:

在这里工作的可下载示例项目:github.com/mattneub/custom-alert-view-ios7 我看不懂代码,对我来说太复杂了。我已经看到了这个答案,但没有用:***.com/questions/29219688/…。没有更简单的方式来呈现半尺寸的uiviewcontroller? 那个答案和我告诉你的完全一样并告诉你怎么做。

以上是关于Swift - iOS 9:如何在 iOS 9 中呈现具有自定义大小的 UIViewController? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中为 iOS 10 和 iOS 9.3 初始化 NSManagedObject 子类

如何使用 UINavigationController (Swift 2.0 iOS 9) 强制设置横向方向

如何使用 Swift 4 在 iOS 9+ 中创建瀑布布局

如何使用 Swift 2 + XCode 7 + iOS 9 获取和解析 JSON [重复]

问题 XCode 8,Swift 2.3 存档版本在 IOS 9.2.1 -> IOS 9.0 上启动时崩溃

应用程序关闭之前/应用程序打开之前的 Swift iOS 9+ [重复]