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老系列iphone
寬高比 | 型號 |
---|---|
0.66 | 4 |
0.56 | 5 |
0.56 | normal |
iPhone X系列code
寬高比 | 型號 |
---|---|
0.46 | x |
0.46 | x max |
0.46 | xr 11 |
0.46 | 11pm |
iPad系列orm
寬高比 | 型號 |
---|---|
0.75 | normal |
0.75 | pro |
iphone老機型和pad寬高比在0.5以上,x系列均在0.5如下能夠以此分辨
這種算法不只不用根據新型號更新,還能在unity運行期間就起做用ip
float scale = (float)Screen.width / Screen.height; Debug.Log(string.Format("分辨率————{0} * {1} 寬高比:{2}", Screen.width, Screen.height, scale)); return scale < 0.5f;