当前位置:  开发笔记 > IOS > 正文

针对不同的屏幕尺寸使用不同的故事板?通用xcode应用程序

如何解决《针对不同的屏幕尺寸使用不同的故事板?通用xcode应用程序》经验,为你挑选了1个好方法。

我提交了我的应用以供审核并收到错误消息

2.10 - iPhone应用程序还必须在iPad上运行,无需修改,iPhone分辨率和2X iPhone 3GS分辨率.我们注意到,在运行iOS 9.1的iPad上进行审核时,您的应用无法以iPhone分辨率运行,这违反了App Store查看指南.我们附上了截图供您参考.具体来说,当我们点击在iPad上使用Facebook登录时,不会产生任何操作,我们无法让应用程序前进.

我已经使用信息plist和常规设置等复制了ipad的第二个故事板.我还需要为不同的iphone设备制作不同的故事板,你可以从图像中看到我的设计是不可能的自动约束.

如果你看看它的年龄,它只能在最后3个盒子中进入第一个

我的问题是:我对旧的View控制器的IB是否与故事板1上的方式相同,并且每个VC上都有重复的代码,或者我是否必须为新的故事板(包括应用程序委托)创建所有新的VC?其次,我必须在我的app委托中编写代码,以根据屏幕大小或剂量说明使用哪个故事板xcode 7在info plist中执行此操作?所有我似乎都能找到的是objc代码我只知道很快.

所以问题对象xcode 5

链接ipad和主要故事板



1> Grace..:

由于我的设计限制,我无法为所有设备尺寸使用一个故事板,所以为了解决我的问题,我将此代码添加到我的应用代表:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    var bounds: CGRect = UIScreen.mainScreen().bounds
    var screenHeight: NSNumber = bounds.size.height
    var deviceFamily: String

    var mainView: UIStoryboard!
    mainView = UIStoryboard(name: "iphone35Storyboard", bundle: nil)
    let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("iphone35") as UIViewController
    self.window!.rootViewController = viewcontroller

    if screenHeight == 480  {
        deviceFamily = "iPhoneOriginal"
        // Load Storyboard with name: iPhone4
        var mainView: UIStoryboard!
        mainView = UIStoryboard(name: "Main", bundle: nil)
        let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("iphone4") as UIViewController
        self.window!.rootViewController = viewcontroller

    } else {

        var mainView: UIStoryboard!
        mainView = UIStoryboard(name: "IpadStoryboard", bundle: nil)
        let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("ipad") as UIViewController
        self.window!.rootViewController = viewcontroller

        if screenHeight == 920 {
            deviceFamily = "Pad"
            // Load Storyboard with name: ipad
            var mainView: UIStoryboard!
            mainView = UIStoryboard(name: "IpadStoryboard", bundle: nil)
            let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("ipad") as UIViewController
            self.window!.rootViewController = viewcontroller
        }
    }
}

然后创建一个新的故事板,将主故事板复制并粘贴到第二个故事板上并调整大小.它的工作方式与我针对不同的iphone尺寸相同.希望这有助于其他人.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有