iPhone屏幕分辨率和視頻規(guī)則(實(shí)現(xiàn)篇)

在文章《iPhone屏幕分辨率和適配規(guī)則(基礎(chǔ)篇)》《iPhone屏幕分辨率和適配規(guī)則(規(guī)則篇)》中票罐,講了iPhone分辨率的基礎(chǔ)概念和適配規(guī)則。最后來講講這些規(guī)則在iPhone上是怎么實(shí)現(xiàn)的。

本文旨在讓非技術(shù)人員對iPhone屏幕適配技術(shù)有一個宏觀的了解,不對具體的實(shí)現(xiàn)細(xì)節(jié)進(jìn)行探討狞悲。具體的實(shí)現(xiàn)細(xì)節(jié),請查看相關(guān)的開發(fā)文檔妇斤。

適配技術(shù)概述

iPhone 3GS之前摇锋,iPhone屏幕只有一個規(guī)格。所以沒有太多的適配問題趟济。早期的頁面只需要限定好位置就可以了乱投。

隨著iPhone逐步多屏幕尺寸化之后,每新增一種屏幕都進(jìn)行重新開發(fā)顷编,這無疑會給適配工作帶來大量的重復(fù)性工作戚炫。所以,在具體實(shí)現(xiàn)時媳纬,蘋果公司推出了一系列的適配技術(shù)双肤。旨在當(dāng)屏幕尺寸發(fā)生改變時,程序能夠自動適應(yīng)屏幕钮惠,而不會造成重復(fù)性的適配工作茅糜。

其中,autoResizing和autoLayout是兩種不同的屏幕適配技術(shù)素挽。

autoResizing

autoResizing是iPhone早期的一種適配技術(shù)蔑赘,目前已經(jīng)越來越少被使用了。

autoResizing可以做什么

autoResizing是用于設(shè)置子控件相對于父控件的位置關(guān)系的预明。

如圖可以看出缩赛,autoResizing可以設(shè)置如下關(guān)系:

  • 相對于父控件固定頂距離。
  • 相對于父控件固定底距離撰糠。
  • 相對于父控件固定左距離酥馍。
  • 相對于父控件固定右距離。
  • 跟隨父控件橫向拉伸阅酪。
  • 跟隨父控件縱向拉伸旨袒。

autoResizing應(yīng)用舉例

Button 1設(shè)置

在這個例子中,設(shè)置了Button 1

  1. 相對于父控件左距離固定不變术辐。
  2. 相對于父控件頂距離固定不變砚尽。
Button 2設(shè)置

設(shè)置了Button 2

  1. 相對于父控件頂距離固定不變。
  2. 相對于父控件右距離固定不變辉词。
  3. 橫向跟隨父控件拉伸尉辑。
autoResizing屏幕拉伸結(jié)果

可以看出,當(dāng)屏幕變化時较屿。Button 1相對左距離和頂距離固定不變隧魄,而Button 2隨著屏幕橫向拉大而拉大。

autoResizing的局限

autoResizing沒有提供控件之間的關(guān)系隘蝎,Button 1Button 2之間的距離并不能設(shè)定购啄。所以,在屏幕改變時嘱么,很難控制兩個按鈕之間的空隙狮含。

所以,現(xiàn)在越來越少人使用autoResizing進(jìn)行適配曼振。

autoLayout

autoLayout是目前最流行且被廣泛使用的屏幕布局技術(shù)几迄。

autoLayout可以做什么

autoLayout提供了比autoResizing跟豐富的約束規(guī)則”溃可以說映胁,autoLayout是autoResizing升級版。

autoLayout可以設(shè)置:

控件自身

  • 寬度甲雅。
  • 高度解孙。
  • 和屏幕等比例寬高。

控件與控件之間的關(guān)系

  • 左對齊/右對齊/頂對齊/底對齊抛人。
  • 水平中心對齊弛姜。
  • 垂直中心對齊。
  • 文本底線對齊妖枚。
  • 等寬廷臼。
  • 等高。

控件和父控件的關(guān)系

  • 對齊水平绝页。
  • 對齊垂直荠商。
  • 左邊距/右邊距/頂邊距/底邊距。

autoLayout應(yīng)用舉例

Button 1設(shè)置

設(shè)置Button 1

  1. 相對于父控件左距離固定抒寂。
  2. 相對于父控件右距離固定结啼。
  3. 對齊水平中心,固定距離屈芜。
  4. Button 2等高郊愧。
  5. Button 2等寬。
Button 2設(shè)置

設(shè)置Button 2

  1. 寬度井佑。
  2. 高度属铁。
  3. 對齊水平中心,固定距離躬翁。
  4. Button 1等高焦蘑。
  5. Button 1等寬。
AutoLayout 拉伸結(jié)果

Button 1和Button 2設(shè)置了等高盒发、等寬例嘱,所以兩者會一直保持一樣大小狡逢。同時,設(shè)置對齊距離父控件中心的距離拼卵,能保證其居中對齊的效果奢浑。

SizeClass

SizeClass是基于AutoLayout的一種技術(shù)。必須跟AutoLayout一起腋腮,不能單獨(dú)使用雀彼。

SizeClass可以做什么

SizeClass并不是一種屏幕布局的技術(shù)。SizeClass可以讓開發(fā)人員針對不同的屏幕設(shè)置不同的布局即寡。

這是因?yàn)閕Phone 的橫屏和豎屏相差很大徊哑。考慮到iOS還支持iPad聪富,iPhone和iPad的頁面差異也很大莺丑。沒必要硬要適配兩種頁面。

iPhone和iPad頁面差異

完全可以針對iPhone和iPad的頁面特點(diǎn)單獨(dú)設(shè)計頁面善涨。

SizeClass的分類窒盐。

SizeClass對iOS設(shè)備進(jìn)行了分類。通過將寬度和高度分成三種類型:compact(緊湊)钢拧、any(任意)蟹漓、regular(正常)。從而分成9種不同的屏幕分類源内。

設(shè)備的對應(yīng)關(guān)系如下:

設(shè)備 樣式
compact(緊湊) compact(緊湊) iPhone 4
compact(緊湊) regular (正常) iPhone豎屏
regular(正常) compact(緊湊) iPhone橫屏
regular(正常) regular(正常) iPad

而Any則表示同時適配compact和regular葡粒。

假設(shè)我們要為iPhone和iPad分別設(shè)置布局,則需要將Phone的SizeClass設(shè)置成 w(compact)/h(regular)膜钓,將iPad的SizeClass設(shè)置成w(regular)/h(regular)嗽交,并分別對兩種屏幕進(jìn)行單獨(dú)的設(shè)計。


《iPhone屏幕分辨率和適配規(guī)則(基礎(chǔ)篇)》
《iPhone屏幕分辨率和適配規(guī)則(規(guī)則篇)》
《iPhone屏幕分辨率和適配規(guī)則(實(shí)現(xiàn)篇)》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颂斜,一起剝皮案震驚了整個濱河市夫壁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沃疮,老刑警劉巖盒让,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異司蔬,居然都是意外死亡邑茄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門俊啼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肺缕,“玉大人,你說我怎么就攤上這事⊥荆” “怎么了浮梢?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泉手。 經(jīng)常有香客問我黔寇,道長,這世上最難降的妖魔是什么斩萌? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮屏轰,結(jié)果婚禮上颊郎,老公的妹妹穿的比我還像新娘。我一直安慰自己霎苗,他們只是感情好姆吭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唁盏,像睡著了一般内狸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厘擂,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天昆淡,我揣著相機(jī)與錄音,去河邊找鬼刽严。 笑死昂灵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的舞萄。 我是一名探鬼主播眨补,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼倒脓!你這毒婦竟也來了撑螺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤崎弃,失蹤者是張志新(化名)和其女友劉穎甘晤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吊履,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡安皱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了艇炎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酌伊。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出居砖,到底是詐尸還是另有隱情虹脯,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布奏候,位于F島的核電站循集,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蔗草。R本人自食惡果不足惜咒彤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咒精。 院中可真熱鬧镶柱,春花似錦、人聲如沸模叙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽范咨。三九已至故觅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渠啊,已是汗流浹背输吏。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昭抒,地道東北人评也。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像灭返,于是被迫代替她去往敵國和親盗迟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355