gpt4 book ai didi

ios - 为 iPad 横向创建容器 View 包装?

转载 作者:行者123 更新时间:2023-11-30 14:15:10 24 4
gpt4 key购买 nike

我正在尝试制作一个包装器,如果设备是 iPad,它将添加额外的功能,如果不是,则应用程序应该在没有包装器的情况下继续通过 Storyboard 。

enter image description here

包装器是一个具有两个容器 View 的 View Controller 。大的一个用于主要功能,小一个用于附加的 iPad 功能。

容器的连接被转储到正常 Storyboard入口点所在的位置。

那么有没有办法根据所使用的设备拥有多个入口点?这样一个人就可以拥有 wrapper ,而另一个人则不会。

这是 AppDelegate 中的内容

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.

self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)

let iPadEntryViewController = storyboard.instantiateViewControllerWithIdentifier("iPadWrapperView") as! UIViewController
let iPhoneEntryViewController = storyboard.instantiateViewControllerWithIdentifier("iPhoneEntryPointView")as! UIViewController

if (/* SOME ACTION */ false) {
self.window?.rootViewController = iPadEntryViewController
self.window?.makeKeyAndVisible()

}
else {
self.window?.rootViewController = iPhoneEntryViewController
self.window?.makeKeyAndVisible()
}

return true
}

那么 if 语句中应该包含什么内容来检查设备是否是 iPad?

最佳答案

以下是我发现如何检测设备并专门为 Swift 分配入口点的方法。事实证明这是一个简单的枚举,可以在 UIDevice 下访问

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.

self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)

let iPadEntryViewController = storyboard.instantiateViewControllerWithIdentifier("iPadWrapperView") as! UIViewController
let iPhoneEntryViewController = storyboard.instantiateViewControllerWithIdentifier("iPhoneEntryPointView")as! UIViewController

if (UIDevice.currentDevice().userInterfaceIdiom == .Phone) {
self.window?.rootViewController = iPhoneEntryViewController
self.window?.makeKeyAndVisible()

println("Application will begin as iPhone app")

}
else {
self.window?.rootViewController = iPadEntryViewController
self.window?.makeKeyAndVisible()

println("Application will begin as iPad app")
}

return true
}

关于ios - 为 iPad 横向创建容器 View 包装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31277973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com