我正在做类似于dividr的事情,因为您有掉落的物体必须躲避,并且它在iPhone XR上可以完美运行,但是当我为SE和iphone 7运行模拟器时,我在其他地方给我打电话我的代码搞砸了,是否有办法准确检测出他们正在使用哪种设备?或者也许是一种更好的方法来使其通用化?
我了解您可以做到
if UIDevice.current.userInterfaceIdiom == .phone
if UIDevice.current.userInterfaceIdiom == .pad
但是我担心这还不够具体
答案 0 :(得分:0)
我认为实现目标的最佳方法是使用约束。 您应该设置适当的约束,而不是检测用户使用的设备,以便可以在任何设备上加载和播放您的应用。 https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html 这是一个基础知识。
最好的做法是在许多设备上都能看到应用,而实现此目的的最佳方法是使用约束。 Xcode具有“因特征而异”的功能,可让您根据屏幕的宽度和高度来更改约束!https://www.idev101.com/code/User_Interface/sizes.html 上面的链接为各种屏幕宽度和高度(不包括iPad)提供了一个很好的例子。
What is 'Vary for Traits' in Xcode 8?
这是有关特质变化的链接 希望对您有帮助