亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS如何獲取屏幕寬高、設備型號、系統版本信息

2020-07-26 03:04:10
字體:
來源:轉載
供稿:網友

介紹
在我學習Android開發的時候,覺得設備適配是件很頭疼的事情,android的設備太多了,那時就很羨慕iOS開發的人不用操心適配的問題,而當我開始學習iOS開發后,iOS的屏幕也開始多種多樣了起來...于是也得做適配了,sad...
之前也研究過,這里把我的方法記錄下來,本文介紹三個常用的設備信息獲取方式:

  • 獲取屏幕的寬高。用于在設置控件位置的時候計算相對屏幕的距離
  • 獲取設備的型號。5s和6+的屏幕大小相差很遠,相應的控件位置、大小都需要做出調整,不然就會出現在6+上顯得很空曠或者在5s上顯示不全的問題。
  • 獲取系統版本。不同的系統版本有著不同的特性,舉個栗子,iOS 9以下的版本就沒有Live Photo;再舉個栗子,iOS 7以上的系統版本往往需要調整一下邊界

接下來詳細說說各自的獲取方法,其實都還比較簡單。

1、獲取屏幕的寬高

屏幕的寬高是一個常常需要用到的信息,尤其是當你用代碼寫UI時。比如當你寫一個UILabel,設置其frame時,你想要它居中,而你想為其設置的寬度為200,那怎么設置它的x值呢?就是(屏幕的寬度 - 200)/ 2了對吧,這樣就可以保證不管在什么設備上它永遠是居中的。獲取屏幕寬、高的方法如下:

// 設備寬度  [UIScreen mainScreen].bounds.size.width  // 設備高度 [UIScreen mainScreen].bounds.size.height 

一般來說我們在pch文件里將其設置為宏,這樣在每個地方就都可以調用了,就不用每次都用這么長一串代碼:

//設備的寬高 #define SCREENWIDTH    [UIScreen mainScreen].bounds.size.width #define SCREENHEIGHT   [UIScreen mainScreen].bounds.size.height 

這樣在需要用的地方直接使用宏SCREENWIDTH和SCREENHEIGHT就可以了。

2、獲取設備的型號

獲取設備型號有幾種方法,這里我使用的是比較笨的方法,獲取設備的分辨率來判斷設備的型號。我們先看下面這張表:

關注設備分辨率那一列,我們可以看到幾款屏幕的設備的分辨率是不同的,因此也就可以以此為依據判斷設備型號,我這里判斷了幾種當前最常見的型號,同樣使用了宏:

// 根據屏幕分辨率判斷設備,是則返回YES,不是返回NO #define isiPhone5or5sor5c ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) #define isiPhone6or6s ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO) #define isiPhone6plusor6splus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO) 

那么我只需要判斷這幾個值哪一個是YES,就可以知道當前是哪個型號了,如:

if (isiPhone5or5sor5c) {   NSLog(@"這是 iPhone5 或 5s 或 5c") ; } else if (isiPhone6or6s) {   NSLog(@"這是 iPhone6 或 6s"); } else if (isiPhone6plusor6splus) {   NSLog(@"這是 iPhone6plus 或6splus"); } 

這樣就可以啦。
其實相應的iPad、iTouch等也都可以這么判斷,只要找到對應的分辨率來判斷就好。

3、獲取系統版本

獲取系統版本同樣適用宏來方便全局調用:

// 設備的系統版本 #define SystemVersion ([[UIDevice currentDevice] systemVersion]) 

這樣你就可以獲取版本號了,可以打印出來:
NSLog(@"當前運行系統為:iOS%@", SystemVersion); 

在使用的時候,可以轉化為float型的數來進行判斷,如:

if ([SystemVersion floatValue] >= 7.0) {   …… } 

常用的獲取設備信息的方法就在這里啦,希望能幫到大家~
這里是我在github的示例工程地址:https://github.com/Cloudox/GetDeviceInfoDemo,歡迎star和fork~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97视频在线观看免费高清完整版在线观看| 国产在线不卡精品| 国产成人小视频在线观看| 日韩美女中文字幕| 成人激情视频在线播放| 久久国产精品久久精品| 国产视频亚洲视频| 高清欧美一区二区三区| 国产欧美日韩综合精品| 精品久久久久久久大神国产| 精品中文字幕乱| 最近2019中文字幕大全第二页| 亚洲激情免费观看| 亚洲精品一区二区三区不| 久久国产精品久久久| 亚洲石原莉奈一区二区在线观看| 69影院欧美专区视频| 国产专区欧美专区| 国产69精品久久久久9| 久久久国产视频| 精品人伦一区二区三区蜜桃免费| 色婷婷综合成人| 国产精品扒开腿做爽爽爽的视频| 亚洲国产中文字幕在线观看| 日韩美女免费线视频| 亚洲欧洲国产精品| 成人国产精品一区二区| 精品久久久av| 日韩中文av在线| 久久久久久国产精品美女| 国产精品网站大全| 久久色在线播放| 亚洲最大av在线| 国产日韩在线精品av| 国产成人精品电影久久久| 欧美电影在线播放| 日韩精品免费观看| 中文字幕免费精品一区高清| 黄色成人av在线| 国产日本欧美一区二区三区在线| 亚洲欧美中文日韩v在线观看| 亚洲国产高清高潮精品美女| 亚洲精品网址在线观看| 亚洲欧美中文在线视频| 久久久久亚洲精品| 欧美精品在线观看| 97成人超碰免| 欧美另类极品videosbest最新版本| 国产精品久久久亚洲| 91网站免费观看| 国产精品96久久久久久| 黄色一区二区在线观看| 川上优av一区二区线观看| 久久久久久国产精品| 欧美激情精品在线| 久久国产色av| 国产亚洲精品综合一区91| 国产激情综合五月久久| 久久偷看各类女兵18女厕嘘嘘| 亚洲一区精品电影| 欧美一区二区三区图| 97超级碰在线看视频免费在线看| 亚洲国产精品电影在线观看| 日本精品性网站在线观看| 91伊人影院在线播放| 成人观看高清在线观看免费| 午夜精品久久久久久久99黑人| 欧美理论片在线观看| 亚洲男人天堂古典| 午夜精品久久久久久久99热浪潮| 亚洲欧美日韩爽爽影院| 精品无人国产偷自产在线| 久久久久久久久久国产精品| 亚洲mm色国产网站| 久久久久久国产| 少妇激情综合网| 日韩av日韩在线观看| 亚洲视频一区二区三区| 精品国产网站地址| 国产日韩欧美视频| 一区二区三区国产视频| 久久久久久久一区二区| 国产精自产拍久久久久久蜜| 日韩欧美高清在线视频| 另类视频在线观看| 国产精品第二页| 亚洲第一页在线| 北条麻妃99精品青青久久| 精品视频—区二区三区免费| 国内精品小视频在线观看| 欧美国产日本高清在线| 国产精品三级在线| 国产精品久久久久久久久免费看| 一个色综合导航| 日韩电影中文字幕在线| 日韩电影大全免费观看2023年上| 在线电影av不卡网址| 久久精品视频在线| 7m第一福利500精品视频| 亚洲精品国产精品国自产在线| 久久97久久97精品免视看| 欧美激情视频三区| 欧美激情视频免费观看| 青青久久av北条麻妃海外网| 久热精品视频在线| 国产在线一区二区三区| 91视频88av| 国产精品国产亚洲伊人久久| 欧美激情综合色| 97国产真实伦对白精彩视频8| 久久久久久久久91| 欧美超级乱淫片喷水| 亚洲国产成人在线播放| 日韩国产在线看| 5566成人精品视频免费| 国产精品专区一| 国产做受高潮69| 久久亚洲精品成人| 国产成人在线亚洲欧美| 成人免费视频a| 热re99久久精品国产66热| 日韩人在线观看| 欧美壮男野外gaytube| 亚洲人线精品午夜| 亚洲精品国产精品自产a区红杏吧| 国产精品一区二区三区免费视频| 狠狠久久五月精品中文字幕| 庆余年2免费日韩剧观看大牛| 欧美色欧美亚洲高清在线视频| 亚洲欧美综合v| 在线成人一区二区| 国产精品欧美在线| 成人免费激情视频| 中文字幕欧美日韩在线| 91在线观看免费高清| 91av在线不卡| 国产91在线播放精品91| 精品女厕一区二区三区| 久久久久久亚洲精品不卡| 午夜精品一区二区三区在线| 57pao成人永久免费视频| 亚洲国产天堂久久国产91| 欧美日韩高清区| 亚洲天堂久久av| 97超视频免费观看| 国产午夜精品视频免费不卡69堂| 97精品一区二区视频在线观看| 亚洲欧美国产一区二区三区| 久久久免费在线观看| 欧美孕妇孕交黑巨大网站| 久久99久久99精品中文字幕| 成人免费网站在线观看| 久99久在线视频| 欧美中文字幕在线观看| 神马国产精品影院av| 在线观看精品国产视频| 日韩电视剧免费观看网站| 国产乱肥老妇国产一区二| 亚洲自拍偷拍视频| 少妇av一区二区三区| 91久久精品日日躁夜夜躁国产| 精品视频在线播放色网色视频| 精品视频在线播放| 国产激情综合五月久久|