ios - 有没有办法准确检测用户在 Xcode 上使用的设备类型
问题描述
我正在制作一种类似于 dividr 的事实,因为您必须躲避坠落的物体,并且它在 iPhone XR 上完美运行,但是当我为 SE 和 iphone 7 以及其他手机运行模拟器时,我在代码中的计算是搞砸了,有没有办法准确地检测到他们使用的是什么类型的设备?或者也许是一种更好的方法来使它普遍化?
我知道你可以这样做
if UIDevice.current.userInterfaceIdiom == .phone
if UIDevice.current.userInterfaceIdiom == .pad
但恐怕这对我来说不够具体
解决方案
我认为实现你想要做的最好的方法是使用约束。您应该设置适当的约束,以便您的应用可以在任何设备上加载和播放,而不是检测用户正在使用什么设备。 https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html 这是一个关于基础的类似内容。
最好的做法是让应用程序在许多设备上都可以查看,而实现这一点的最佳方法是使用约束。Xcode 具有“因特征而异”,它允许您根据屏幕宽度和高度更改约束!https://www.idev101.com/code/User_Interface/sizes.html 上面的这个链接给出了一个关于各种屏幕宽度和高度的很好的例子(不包括 ipad)
Xcode 8 中的“Vary for Traits”是什么?
这是一个关于特征变化的链接我希望这会有所帮助
推荐阅读
- makefile - 是否可以将变量从子 makefile 传递到顶级 makefile?
- javascript - 物化 CSS 日期选择器无法正常工作
- amcharts - amCharts 4 - 如何在没有数据添加到图表时通过属性字段设置线条颜色
- c# - 当设置为 TestFixture 级别而不是测试级别时如何获取作者属性?
- python - 如何找到一个系列中多个组的总和?
- excel - 替换没有数组公式的 MAXIFS
- c++ - C++ [std::regex] 试图只匹配中间有空格的数字
- python-3.x - 在列表中查找列表索引的优雅方法?
- firebase - 使用颤振在 Firestore 中创建链接到用户 ID 的集合
- python - lighttpd:cgi-bin 中的简单 python 代码有效,但未处理表单