Ios 如何使iPhone SE的设备方向仅限于纵向?
我正在为我的应用构建横向支持,但我不想支持iPhone SE的小屏幕,这太难适应横向用户界面 当所有其他iPhone机型都支持横向时,有没有办法只为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 {
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在较短的尺寸上非常紧凑。