Ios 如何使iPhone SE的设备方向仅限于纵向?

Ios 如何使iPhone SE的设备方向仅限于纵向?,ios,iphone,swift,xcode,device-orientation,Ios,Iphone,Swift,Xcode,Device Orientation,我正在为我的应用构建横向支持,但我不想支持iPhone SE的小屏幕,这太难适应横向用户界面 当所有其他iPhone机型都支持横向时,有没有办法只为iPhone SE提供纵向效果 我已经尝试过这个代码,但对我不起作用 func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {

我正在为我的应用构建横向支持,但我不想支持iPhone SE的小屏幕,这太难适应横向用户界面

当所有其他iPhone机型都支持横向时,有没有办法只为iPhone SE提供纵向效果

我已经尝试过这个代码,但对我不起作用

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        if  UIDevice.current.modelName == "iPhone 4"  ||
            UIDevice.current.modelName == "iPhone 5"  ||
            UIDevice.current.modelName == "iPhone 4s" ||
            UIDevice.current.modelName == "iPhone 5s" {

            return .portrait
        } else {
            return .all
        }
    }

谢谢

永远不要将布局决策建立在设备上。根据屏幕/视图大小做出决定

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
    let size = UIScreen.main.bounds.size
    let len = max(size.height, size.width)
    if len <= 480 {
        return .portrait
    } else {
        return .all
    }
}

但iphone5s是320*568,max是568,不小于480,所以它将是所有方向,他需要它only@Sh_Khan抢手货只需将480更改为568,即可避免所有4台及以下设备出现横向故障。答案的要点是展示解决问题的正确方法。具体数字可根据需要更改。480用于3.5台设备,568用于4台设备,等等。你不应该基于@BallpointBen No来做出这个决定吗?因为所有iPhone在给定的方向上使用相同的大小级别。不,它们没有。iPad在两个维度上都是规则的。iphone在较短的尺寸上非常紧凑。