string modelStr = SystemInfo.deviceModel;
bool IsIphoneXDevice = modelStr.Equals("iPhone10,3") || modelStr.Equals("iPhone10,6") || modelStr.Equals("iPhone11,8") || modelStr.Equals("iPhone11,2") || modelStr.Equals("iPhone11,6") || modelStr.Equals("iPhone12,1") || modelStr.Equals("iPhone12,3") || modelStr.Equals("iPhone12,5");
return IsIphoneXDevice;
上面那个还得写机型太麻烦,下面是新算法,以下是各种机型宽高比
iPhone老系列
宽高比 | 型号 |
---|---|
0.66 | 4 |
0.56 | 5 |
0.56 | normal |
iPhone X系列
宽高比 | 型号 |
---|---|
0.46 | x |
0.46 | x max |
0.46 | xr 11 |
0.46 | 11pm |
iPad系列
宽高比 | 型号 |
---|---|
0.75 | normal |
0.75 | pro |
iphone老机型和pad宽高比在0.5以上,x系列均在0.5以下可以以此分辨
这种算法不仅不用根据新型号更新,还能在unity运行期间就起作用
float scale = (float)Screen.width / Screen.height;
Debug.Log(string.Format("分辨率————{0} * {1} 宽高比:{2}", Screen.width, Screen.height, scale));
return scale < 0.5f;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。