为 iPad 横向创建容器视图包装器?
Create container view wrapper for iPad landscape?
我正在尝试制作一个包装器,如果设备是 iPad,它将添加额外的功能,如果不是,则应用程序应该在没有包装器的情况下继续通过故事板。
包装器是一个具有两个容器视图的视图控制器。大的用于主要功能,小的用于附加 iPad 功能。
容器的连接被转储到正常故事板入口点所在的位置。
那么有没有一种方法可以根据使用的设备设置多个入口点?这样一个可以有包装,另一个没有。
这是 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
}
我正在尝试制作一个包装器,如果设备是 iPad,它将添加额外的功能,如果不是,则应用程序应该在没有包装器的情况下继续通过故事板。
包装器是一个具有两个容器视图的视图控制器。大的用于主要功能,小的用于附加 iPad 功能。
容器的连接被转储到正常故事板入口点所在的位置。
那么有没有一种方法可以根据使用的设备设置多个入口点?这样一个可以有包装,另一个没有。
这是 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
}