iOS - Autolayout不适合3.5"屏幕

时间:2015-09-13 20:17:36

标签: iphone autolayout iphone-4

我将自动布局添加到我的应用程序中,它适用于4",4.7"和5.5"屏幕。但是,当我在3.5" (iPhone 4S),它很乱。许多物体都在彼此之上。我能做什么 ?将应用程序上传到iTunes Connect时有没有办法排除iPhone 4S?如果我的应用程序不能用于iPhone 4S,它会被拒绝,因为它仍然支持iOS 9吗? (使用Xcode 7 GM)

编辑:

我制作了另一个名为" iPhone35"对于3.5英寸并将此代码添加到AppDelegate.swift中的应用程序功能,但它总是打开Main.storyboard,即使我选择iPhone 4S模拟器也适用于4英寸及以上的屏幕尺寸。

let theBounds  = UIScreen.mainScreen().bounds
    let heightDevice = theBounds.size.height

    if heightDevice == 480 {
        let wantedStoryboard = UIStoryboard(name: "iPhone35", bundle: nil)
        let vc = wantedStoryboard.instantiateViewControllerWithIdentifier("MainPage")
        let rootViewController = self.window!.rootViewController
        rootViewController?.presentViewController(vc, animated: false, completion: nil)

    } else {
        let wantedStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = wantedStoryboard.instantiateViewControllerWithIdentifier("MainPage")
        let rootViewController = self.window!.rootViewController
        rootViewController?.presentViewController(vc, animated: false, completion: nil)

    }

我该怎么办?

1 个答案:

答案 0 :(得分:0)

所以我所做的是将此功能添加到AppDelegate.swift

 double decimal = 7.0;
 int decimalPlaces = 6; 
 BigDecimal bd = new BigDecimal(decimal);
 bd = bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP);

然后在didFinishLaunchingWithOptions函数

中添加这几行
func grabStoryBoard() -> UIStoryboard {

    var storyboard: UIStoryboard
    let width = UIScreen.mainScreen().width

    if width == 480.0 {
        storyboard = UIStoryboard(name: "iPhone35", bundle: nil)
    } else {
        storyboard = UIStoryboard(name: "Main", bundle: nil)
    }

    return storyboard

}

我还点击了"是初始视图控制器"在我的新故事板的第一个控制器上。

宽度== 480.0的原因是因为我的应用程序设置为仅横向。