五月婷婷色视频在线,五十路av熟女资源 http://m.createwh.com 傳播先進(jìn)設(shè)計(jì)理念 推動原創(chuàng)設(shè)計(jì)發(fā)展 Thu, 02 Mar 2017 07:52:57 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.9.1 Android和iOS設(shè)計(jì)的不同之處 http://m.createwh.com/47147.html http://m.createwh.com/47147.html#respond Thu, 02 Mar 2017 07:49:42 +0000

之前在DDC后臺有粉絲留言說希望我們能寫一篇關(guān)于iOS和Android平臺特性對比的文章,筆者曾經(jīng)為兩個平臺分別做過差異化的設(shè)計(jì),所以今天想借此話題為大家介紹一下iOS和Android兩個系統(tǒng)在設(shè)計(jì)方面的差異之處,讓大家能更好的理解其中的異同并運(yùn)用在自己的設(shè)計(jì)當(dāng)中。

作為智能手機(jī)的最大的兩個陣營,iOS和Android系統(tǒng)差異一向都是大家津津樂道的話題,其中內(nèi)容通常是圍繞“機(jī)器性能好不好,打開軟件卡不卡”“攝像頭的像素高不高,拍出來的自己美不美”“外觀是不是有bigger”等話題展開的。

但在一個設(shè)計(jì)師眼里,這兩個系統(tǒng)的差異性之多可遠(yuǎn)遠(yuǎn)不止表面上看起來的那么簡單粗暴。但在移動端趨勢有如春草那樣蔓延開來的今天,大多數(shù)的公司都選擇把iOS的界面直接運(yùn)用于Android系統(tǒng)。我們自然可以理解這樣做是為了節(jié)省成本和更快的迭代,但抹殺了系統(tǒng)特性的運(yùn)用卻犧牲了許多Android用戶的用戶體驗(yàn)。盡管知乎也有類似回答過兩個系統(tǒng)交互的不同,今天筆者想更著重介紹一下兩者設(shè)計(jì)語言的異同。

從Flat Design和Material Design 說起

幾乎每個移動端的設(shè)計(jì)師都會熟知的一個Mobile設(shè)計(jì)里程碑——就是iOS7的Flat Design。原本栩栩如生的擬物化設(shè)計(jì)被拍扁,去除了冗余、厚重和繁雜的裝飾效果,扁成了“扁平化設(shè)計(jì)”,其核心思想就是讓“信息”本身凸顯出來,在設(shè)計(jì)元素上則強(qiáng)調(diào)了抽象、極簡和符號化。自此扁平風(fēng)格開始在移動端設(shè)計(jì)中廣為盛行。

圖一

自從2014年11月3日,Android5.0 Lollipop正式面向用戶推出,Material Design 煥然一新的設(shè)計(jì)驚艷了全場,不僅僅是視覺效果,全新的“數(shù)字紙墨”的空間概念也賦予了界面全新的UI理念。

圖二

那么Flat Design與Material Design,兩個同樣趨于簡約的設(shè)計(jì)理念,他們具體的區(qū)別又在哪呢? 以下將會就這個話題具體分析兩者在設(shè)計(jì)思路、動效和其他細(xì)節(jié)上的不同。

開放與封閉,設(shè)計(jì)思路大不同

如果只能用一對詞來概括Android和iOS系統(tǒng)的不同,我想那應(yīng)該是開放與封閉,也正是這兩個截然不同的系統(tǒng)特性帶來了設(shè)計(jì)思路的不同。Android的開放帶來了多樣化設(shè)計(jì)的同時(使用自定義控件幾乎沒有不能實(shí)現(xiàn)的設(shè)計(jì)效果),同時也帶來了“雜亂無章”之感和眾多因?yàn)椴唤y(tǒng)一而造成的用戶在使用時無從下手的情況。而iOS的HIG(《Human Interface Guideline》人機(jī)交互規(guī)范)則更多“迫使”設(shè)計(jì)師去更多的使用系統(tǒng)原生的控件,設(shè)計(jì)師對于控件的修改非常局限,但這樣做的好處就是每個App的基本操作都是在規(guī)范之內(nèi),具有一定的統(tǒng)一性,用戶使用起來非常的方便,學(xué)習(xí)成本也相應(yīng)降低了不少。這兩者很難去評判孰優(yōu)孰劣,可以說“iOS的下限比Android高,但Android的上限比iOS高”,伴隨著大屏?xí)r代的腳步,可以看到雙方都在努力靠近彼此的一個趨勢,相信在不久的將來,就可以達(dá)到一種“和而不同”的平衡。

動效展現(xiàn)——換個角度看世界

現(xiàn)在動效的運(yùn)用已經(jīng)成為了許多app的標(biāo)配,合理的動效不僅僅是為了視覺效果上的“酷炫”,更是幫助用戶更好的理解層級、轉(zhuǎn)場關(guān)系和關(guān)注到重點(diǎn)信息的利器。然而細(xì)心的設(shè)計(jì)師會發(fā)現(xiàn),Android和iOS的動效思路是截然不同的。用一句話概括兩邊設(shè)計(jì)語言的物理模型就是:Material Design運(yùn)用的是機(jī)械物理和電磁物理,而iOS的動效更多建立在鏡頭運(yùn)動和景深變化上。究其設(shè)計(jì)語言的本質(zhì)就是讓用戶可以把客觀經(jīng)驗(yàn)移植到界面的一種思路。

Material Design的隱喻是紙張,用戶的手指就像磁鐵一樣把電子紙墨吸引過來,點(diǎn)擊后就會泛起“漣漪”作為一個交互響應(yīng)。而其他物體的排列則按照一種“深淺”的層級來排布,離手指越近的元素越亮,陰影越深,而離開遠(yuǎn)的元素則越暗,直至淹沒在黑暗之中。

圖3為MATERIAL DESIGN中動效的展現(xiàn)

圖4為MATERIAL DESIGN的經(jīng)典動畫

細(xì)觀iOS的系統(tǒng)動效可以發(fā)現(xiàn),iOS的桌面就好像一片星空,每個App都是其中的一個小星星(點(diǎn)),每當(dāng)用戶去點(diǎn)擊,鏡頭就會切近,而背景則是隱入了一片高斯模糊的景深之中,這應(yīng)該是每個iOS用戶最深刻的動效體驗(yàn)之一了。高斯模糊也成為了iOS特有的一個表達(dá)層級關(guān)系的利器(其中不僅是模糊,還存在著鏡頭晃動時的位移)。同樣類型的動效還體現(xiàn)在打開app的時候由一個點(diǎn)放大成一個面,包括“日歷”App和“相冊”App(皆為系統(tǒng)應(yīng)用)中年-日-月切換的操作,均是鏡頭思路的表現(xiàn)形式。

圖5為相冊的層級,由遠(yuǎn)及近,由小變大

圖6為IOS打開APP時的動效,從點(diǎn)到面

無論是哪種動效,本質(zhì)上都是幫助用戶更好的理解界面切換和時間線之間的關(guān)系,設(shè)計(jì)師們也可以在這兩種系統(tǒng)動效的基礎(chǔ)上,設(shè)計(jì)出適合自己產(chǎn)品的動效。

分辨率之殤

對于需要同時涉及移動端多個平臺的設(shè)計(jì)師來說,分辨率是永遠(yuǎn)無法避開的一個痛點(diǎn)。在iPhone6/iPhone6Plus 問世之前,iOS更受設(shè)計(jì)師歡迎,也更多被作為模板來設(shè)計(jì)的原因,很大一部分是因?yàn)閕OS的分辨率相對固定,設(shè)計(jì)效果更容易被還原。而Android也一直因?yàn)槠聊怀叽绲亩鄻踊辉O(shè)計(jì)師們所”嫌棄“。所以在設(shè)計(jì)的過程中,不僅僅需要調(diào)整當(dāng)前頁面的最佳設(shè)計(jì)效果,同時也應(yīng)該思考這樣的設(shè)計(jì)是否符合不同分辨率尺寸下的屏幕顯示效果。之前公眾號中小雪的《一稿適配iOS7》(鏈接)應(yīng)該會給大家不少適配方面的啟示。對于Android來說,無他,唯調(diào)整爾。盡量把設(shè)計(jì)元素的所占空間用百分比來表示,同時根據(jù)開發(fā)實(shí)現(xiàn)的效果來調(diào)整一些極端情況下具體的間距,以求“滿足大部分主流屏幕的完美顯示以及其他屏幕的可接受顯示”原則。

下圖給大家展示一下iOS與Android的分辨率的轉(zhuǎn)換關(guān)系,在切圖的時候滿足一定的倍數(shù)關(guān)系,就可以一鍵導(dǎo)出可以同時適配兩者的切圖了。

 

1dp(Android)=1pt(iOS)

以48dp@160dpi計(jì)算的話

mdpi 48px (160dpi, 1x) 基礎(chǔ)尺寸,已經(jīng)非常少使用

hdpi 72px (240dpi, 1.5x)低分辨率

xhdpi 96px (320dpi, 2x) 同iOS @2x

xxdpi 144px (480dpi, 3x) 同iOS @3x

xxxdpi 192px (640dpi, 4x) 更大更高更強(qiáng)的分辨率

其實(shí)iOS和Android的設(shè)計(jì)還有許許多多的不同之處,比如字體、Tab bar設(shè)計(jì)、物理鍵操作方式、編輯模式、App體現(xiàn)個性的方式等等,在此不一一展開了。希望在設(shè)計(jì)移動端產(chǎn)品的過程中,設(shè)計(jì)師們可以更多的去思考兩者的異同,并且更多的關(guān)注一下Android系統(tǒng)獨(dú)有特性的運(yùn)用,不僅僅節(jié)省了開發(fā)成本,同時也更好的為Android用戶所接受。
 

原文地址:DDC

作者:Doris

]]>
http://m.createwh.com/47147.html/feed 0
一稿適配所有iOS設(shè)備(三) http://m.createwh.com/47028.html http://m.createwh.com/47028.html#respond Fri, 10 Feb 2017 07:14:44 +0000

按照計(jì)劃,這篇文章將是這個系列里的最后一篇了。

在上一篇文章中,為了讓最后的三個第三方登錄按鈕的間距能夠根據(jù)屏幕的寬度自動調(diào)整,我先添加了一個組,再在組里面添加約束,弄的很復(fù)雜,而且這種方法也有一定的局限性。

我在上篇文章了就講過,這個問題有更簡單的解決方案。這個東西叫做StackView,在我之前講過的添加約束的方式中,第一個按鈕就是。

它可以讓你不用添加約束就能使用Autolayout里的很多功能,以后維護(hù)起來也會更方便。和上篇文章講的一樣,先拖出三個按鈕放好,這次不用給他們先放到一個組里,只要三個一起選中后,點(diǎn)擊上面說過的Stack按鈕,就將他們放進(jìn)了一個StackView里了,你可以理解為對它們進(jìn)行了編組。 

編組后發(fā)現(xiàn)三個按鈕變成垂直排列的同學(xué)先不要急,后面我會講到如何把它們變成水平分布的。這樣我們就將它們都放到了一個組里了,接下來先給這個組添加約束,和之前用的方法一樣。組的寬度還是設(shè)置為屏幕寬度的0.6倍。添加完成后變成這樣了。

但是里面的按鈕并沒有和我們想象的一樣平均分布,在上篇文章中,我們添加了很多約束,將這些按鈕固定在了組里的某些特定的位置。你也可以在StackView里面添加約束,但是這里我們完全沒必要這么做。我們只要選中整個StackView,就能在右邊欄看到它的屬性了。只要修改一個選項(xiàng)就能達(dá)到我們要求的效果。

下面我就解釋一下這些選項(xiàng)代表的是什么意思。

第一個: Aixs 定義的是這個組的分布方向,我們?nèi)齻€按鈕是水平分布的,所以這里不需要修改,如果你編組后他們是垂直分布的,只需要在這里將它們改成Horizontal就行了。

第二個 :Alignment  定義的是組內(nèi)元素的對齊方式,你可以在這里設(shè)置上對齊,下對齊之類的,因?yàn)檫@三個按鈕大小是一樣的,所以對齊方式也無所謂了,使用默認(rèn)的就行。

第三個:Distribution 定義的是他們的分布方式,我們只要在這里選擇equal spaceing 就能讓他們平均分布了。

第四個 : Spaceing 是用來定義相鄰元素之間的距離的,你可以在后面的輸入框中輸入你想要的數(shù)值。

修改好了Distribution后,我們的工作就完成了。

StackView的威力不限于此,假設(shè)現(xiàn)在產(chǎn)品經(jīng)理屁顛屁顛地跑來和你說,我們又多了一個第三方登錄的渠道,需要加上去。如果你使用的是我在上篇文章中的做法,那么現(xiàn)在你必須從頭來過,而且那種將三個按鈕放在最左,中間,最右的做法也完全失效了,必須得想出新的辦法來。

而如果你使用的是StackView,那這個問題完全不叫什么問題,你只要從控件庫里面拖出一個新的按鈕,直接扔到這個StackView里面就行了,其他的東西都是自動幫你搞定的。

再講一個StackView的實(shí)際應(yīng)用,假設(shè)我們設(shè)計(jì)了這樣一個頁面,想象一下,如果你一個個的去添加約束的話,會是一件多么麻煩的事情,而當(dāng)需要在中間在插進(jìn)一行新的內(nèi)容的時候,那會讓你更加痛苦。

而如果你使用的是StackView的話,這一切都變的非常簡單。首先你將左邊的一整列都放進(jìn)一個StackView里面,這時候的Aixs應(yīng)該是Vertical,在Alignment里將對齊方式改為Trailing(尾對齊),然后Spaceing里面調(diào)整一下行間距就可以了。

用同樣的方式將右邊的文字也都放進(jìn)一個StackView里面,Alignment里設(shè)置Leading(首對齊),將Spaceing里的數(shù)字調(diào)整到和左邊的一樣。

最后將左右兩個StackView再放進(jìn)一個StackView里面,根據(jù)需要在Spaceing 里面調(diào)整它們之間的距離。將這個總的StackView放到你想要的位置就完成了。要添加新的一行,只需要將它們拖進(jìn)之前設(shè)置好的StackView里就可以了。

StackView背后使用的也是AutoLayout,所以你還可以在StackView里面添加約束,做出更復(fù)雜的頁面布局。

事實(shí)上蘋果建議你將StackView作為一個最基礎(chǔ)的元素來構(gòu)建你的整個頁面,因?yàn)樗鼘?shí)在是太方便了。

約束的優(yōu)先級 Constraint Priorities

我在之前講過,只有當(dāng)能從你給的約束關(guān)系中推斷出位置和大小信息,而且還沒有沖突時,才能通過。

在現(xiàn)實(shí)開發(fā)中,有可能會出現(xiàn)約束之間沖突的情況,這時候我們該如何處理呢?實(shí)際上不是所有的約束都是必須滿足的。還記得我在上篇文章中講過的雙擊修改約束嗎?雙擊約束線后會彈出這樣一個Popup,其中第二行的Priority 就是這個約束的優(yōu)先級。

你可以給約束設(shè)定一個優(yōu)先級,從0到1000,默認(rèn)約束的優(yōu)先級為1000,也就是說是必須滿足的。但如果你將優(yōu)先級調(diào)整到0到999之間,那就意味著這個約束并不是必須滿足的,而是根據(jù)實(shí)際情況來取舍。當(dāng)出現(xiàn)沖突時,AutoLayout會根據(jù)Priority數(shù)值的大小來選擇優(yōu)先滿足哪些約束,數(shù)值越高,就越優(yōu)先滿足。

可是我們不該在一開始就避免去設(shè)置有沖突的約束么?如果我們一開始就去避免這個問題,那優(yōu)先級還有什么用?

下面我講一個例子來演示一下約束優(yōu)先級的實(shí)際應(yīng)用。

假設(shè)我們在做一個軟件,在這個軟件里我們給出了兩種基本的操作:打賞 和 支持。

規(guī)則是這樣的:打賞就是你給這個作者一定的虛擬幣,每個用戶可以進(jìn)行無限次數(shù)的打賞。

支持,則更多的是精神上的自持,每個用戶對于某個特定的觀點(diǎn)只能支持一次。

通過以上的描述我們可以設(shè)計(jì)這樣兩個按鈕:

因?yàn)橹С职粹o只有一次點(diǎn)擊機(jī)會,所以當(dāng)支持按鈕點(diǎn)擊過后它就變成不可點(diǎn)擊狀態(tài),它的使命也就完成了。 

但是,既然“支持”這個按鈕點(diǎn)過以后就失效了,為什么不將它拿掉不顯示呢??墒侨绻サ糁С职粹o,那么和支持按鈕相關(guān)的約束都沒有了,打賞按鈕的寬度是沒有被定義的。該如何來解決這個問題呢?

答案就是再創(chuàng)建一個約束,將打賞的尾部和屏幕最右邊的距離設(shè)置為10 。這樣打賞按鈕的尾部有了兩個約束了,一個說我要和支持按鈕保持10的距離,一個說我要和屏幕的右邊保持10的距離,顯然這兩個約束是沖突的。解決這個沖突的辦法就是將新加的約束的優(yōu)先級降低。在下圖我用虛線表示。 

這樣初始狀態(tài)時,因?yàn)榈诙€約束并不是必須滿足的,所以一開始是被舍棄的。但是當(dāng)支持按鈕被移除后,這個新加的按鈕正好能派上用處。這樣頁面就變成了這樣:

約束不一定是固定值

前面我講的約束都是一個固定的數(shù)值,但實(shí)際上著并不是必須要這樣的。你可以設(shè)置他們之間的關(guān)系,大于等于某個值,等于某個值,小于等于某個值。再看一下修改約束的Popup,第一個選項(xiàng)就是讓你選擇這個關(guān)系,只不過默認(rèn)的是等于。

下面再看一個實(shí)際情況。

假如我有這樣一行內(nèi)容,前面是描述,后面是內(nèi)容,我們規(guī)定了它們各自離開屏幕兩個邊的距離。但是我們并不是十分關(guān)心它們之間的距離,所以我們可以不設(shè)置它們之間的約束,讓他們根據(jù)顯示的內(nèi)容自動調(diào)整好了。然而,當(dāng)后面這個交易編號變的特別長的時候,就會出現(xiàn)文字疊加的情況。所以為了保證它們不重疊,我們還是需要在他們之間設(shè)置一個約束,如規(guī)定它們的距離必須大于等于10。這樣大多數(shù)情況下能保證這兩個label還是能自由伸縮,而且不會出現(xiàn)重疊的情況。當(dāng)編號變的特別長時可以觸發(fā)新的適配機(jī)制,如讓編號的字體縮小,而不是直接重疊到前面的標(biāo)題上去。

Auotresizing

不得不承認(rèn)的是,有時候設(shè)置約束是一件很麻煩的事情,特別是你面對的是復(fù)雜的界面的時候,而有時候,你還沒想好要設(shè)置成怎么樣,只是想先試試。這時候你就可以試試蘋果推出的新功能,前提是你要把你的Xcode 升級到8.0以上。

這個功能就是Auotresizing,它讓你不設(shè)置約束就能快速驗(yàn)證你的想法。它使用起來也非常簡單,在選中你要設(shè)置的視圖的前提下,當(dāng)你選擇左邊欄中的標(biāo)尺icon 后就能看到Auotresizing功能了。

能看到中間的正方形四周有四個約束,虛線狀態(tài)下表示這個約束沒有添加,當(dāng)你點(diǎn)一下后,它就會變成實(shí)線,表示已經(jīng)添加上了,而中間的兩個帶有箭頭的虛線則代表是否允許伸縮。默認(rèn)是不允許的,如果你點(diǎn)擊寬度方向的以后,這條線就變成了實(shí)線,表示寬度方向是可以自由伸縮的。邊上還會有一個小動畫來告訴你這些視圖會怎么變。有興趣的可以去嘗試一下。

到這里,這個系列的文章就算結(jié)束了。當(dāng)然我這個系列的文章里不可能提到所有和AutoLayout的知識。很多人看完以后可能也就忘了如何去添加約束,但是我覺我寫這個系列的文章,最大的目的不是讓你看完以后能像程序員一樣去開發(fā)自己設(shè)計(jì)的頁面了,而是讓你了解這種相對布局的思想。希望看完這一系列文章后,當(dāng)你再次看設(shè)計(jì)稿時,能有一種新的視角。

Via: DDC

]]>
http://m.createwh.com/47028.html/feed 0
一稿適配所有iOS設(shè)備(二) http://m.createwh.com/46122.html http://m.createwh.com/46122.html#respond Sat, 27 Aug 2016 07:02:54 +0000

 

上一篇講了一大堆基礎(chǔ)知識,現(xiàn)在就開始講一下AutoLayout的實(shí)際應(yīng)用。接下來我們要用Xcode做一個典型的登錄頁面。這個頁面會用到我在上一篇里講過的三種布局方式。完成以后是一個真實(shí)的登錄界面,換句話說,這是一個真實(shí)的iOS App,只是這個App只有一個不能登錄的登錄界面。

看完這篇文章后你會大概了解你的設(shè)計(jì)是如何實(shí)現(xiàn)的,并且能自己制作出簡單的頁面來。順便聲明一下,本文的討論范圍僅限于iOS開發(fā),并且只討論AutoLayout的布局方式,想了解更多布局的基礎(chǔ)知識的可以看我上一篇文章,未做特殊說明的不帶單位的尺寸默認(rèn)單位都為point。
 

下面正式開始,這個就是我們要做的登錄界面。

首先你需要有一個Mac電腦,并且要安裝了Xcode,你可以直接在Mac App Store 里下載,這是免費(fèi)的。Xcode 是蘋果給開發(fā)者提供的開發(fā)軟件,我們平時用的iOS App 就是這里開發(fā)出來的,事實(shí)上幾乎所有蘋果設(shè)備上的軟件都是用Xcode開發(fā)的,包括Mac ,Apple Watch上的軟件。Xcode是一個強(qiáng)大的開發(fā)工具,有很多功能,我在這里只是大致介紹一下本文需要用到的功能,更多內(nèi)容可以點(diǎn)擊這里:http://help.apple.com/xcode/mac/8.0/

創(chuàng)建你的第一個Xcode項(xiàng)目

安裝好后打開Xcode 創(chuàng)建你的第一個項(xiàng)目吧。

打開后選擇 Create a new Xcode project  —> 出現(xiàn)默認(rèn)選中的Single View Application,直接點(diǎn)next —>  給你的App取個名字,點(diǎn)擊next  —>  選擇保存地址 就可以了。這就是打開后你看到的界面 :

用過Sketch的人可能會比較熟悉上面這個界面的結(jié)構(gòu)。
 

首先看左邊欄,這個可以理解為導(dǎo)航欄,在這里我們可以選擇打開不同的文件。本文中我們需要用到的是兩個,一個是Main.storyboard ,這個是讓我們來布局界面的畫布,還有一個是Assets.xcassets ,這個是讓我們放素材的地方,我們可以把切圖導(dǎo)入到這里,供后續(xù)使用。

右邊欄大概可以理解為屬性欄,里面的內(nèi)容會根據(jù)你選中的東西不同而變化,顯示出相應(yīng)的內(nèi)容。
 

首先我們要導(dǎo)出需要的素材。我導(dǎo)出的是@1x ,@2x,@3x 三種倍率的,如果你的命名符合規(guī)范的話(后綴為@1x ,@2x,@3x),Xcode能自動識別倍率。我們也可以導(dǎo)入一張PDF,Xcode會自己生成不同倍率的圖(具體做法在這里不說了,有興趣的可以自己研究下)。

需要說明一下的是我的登錄按鈕切圖并不是一個長的按鈕,而只截了一段,因?yàn)檫@個按鈕長度會根據(jù)屏幕寬度調(diào)整,而不是固定的,接下來我們會在Xcode里處理一下,讓這個切圖在寬度方向能自由伸縮,但又不讓圖片失真變形。

導(dǎo)入切圖

先選中Assets.xcassets , 將我們導(dǎo)出的切圖拖到里面。

如果你的命名是符合規(guī)范的,那么Xcode已經(jīng)將你的切圖自動識別到對應(yīng)的倍率框里面去了

然后我們處理一下之前說的那個登陸按鈕。選擇頂部的菜單中的Editor —> Show Slicing

這時候你會發(fā)現(xiàn)你的切圖預(yù)覽變成這樣了:

點(diǎn)擊Start Slicing 接著再點(diǎn)擊 Slice Horizontally 的圖標(biāo)既可以了。想了解細(xì)節(jié)的可以看這里:https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/SlicinganImage.html

Tips:有些由簡單色塊組成的圖片,如背景,按鈕背景等切圖并不需要切出一張完整的圖片。
 

開始布局

處理完素材以后我們就可以正式開始了。在導(dǎo)航欄里選擇Main.storyboard,你會看到頁面的中間出現(xiàn)了一個叫View Controller正方形的畫布。

看一下登錄界面的頁面構(gòu)成,我用紅字標(biāo)的是我們等下需要用到的控件,我們可以在iOS的控件庫里面找到這些控件,直接將它們拖到我們的畫布上去。
 

最上面是一個Navigation Bar  這是iOS系統(tǒng)的自帶的,并不需要我們自己來做,我們只需要把Navigation Bar調(diào)出來就行了。

調(diào)出Navigation bar

首先我們先選中View Controller,選擇頂部菜單欄中的Editor中的Embed in Navigation Controller ,這樣我們的View Controller上就會出現(xiàn)Navigation Bar 了。

這時候我們能看到之前的View Controller 上已經(jīng)出現(xiàn)了一個Navigation bar ,雙擊中間就能直接輸入標(biāo)題,字體大小都是默認(rèn)的,一般都是使用默認(rèn)字號。
 

接下來就要放Navgation Bar 上的兩個按鈕了,同樣,這兩個也是使用系統(tǒng)默認(rèn)的按鈕,位置和大小都是默認(rèn)的,我們只需要從系統(tǒng)的控件庫里拖兩個按鈕放上去就行了。Xcode右下角區(qū)域的就是iOS的控件庫,我們平時用的控件都能在這里找到,你也可以在下面的搜索框中直接輸入你想要的控件進(jìn)行快速查找。這里我們需要的是 Bar Button Item ,找到后直接拖出來放到我們的Navigation Bar 上就行了。
 

放上去以后同樣是雙擊就可以直接輸入,我們改好按鈕的標(biāo)題,這時候發(fā)現(xiàn)默認(rèn)的按鈕是藍(lán)色的,我們設(shè)計(jì)中的按鈕是綠色的。iOS的系統(tǒng)控件都會給我們提供一部分自定義的空間,我們只需要選中相應(yīng)控件,就會在右邊欄的Attributes inspector上出現(xiàn)相應(yīng)控件的屬性,可以看到右邊欄中出現(xiàn)了一個 Tint 的屬性,我們可以在這里修改顏色。
 

Tips:建議大家去看一下這個控件庫里面的東西,了解各個控件的用處和它們的屬性,這會對你的設(shè)計(jì)有很大的幫助。

修改背景色

我們可以直接點(diǎn)擊相應(yīng)控件來選擇,也可以在畫布邊上的層級里選擇,這里能看到所有的控件,如果我們點(diǎn)擊View Controller中間的空白位置,就能看到有一個View被選中了,這是系統(tǒng)默認(rèn)加上去的,可以把它理解為背景。選中這個View 后我們就能在右側(cè)的屬性欄中修改它的背景顏色了。我們需要把它的 Background 改為灰色就行。

給出適配策略

這些都改好以后,接下來就是用AutoLayout 布局的時候了,先分析一下我們要做的頁面的布局:

第一個是最上面的Logo ,這是一張圖片,我希望它一直保持圖片的原始大小,不隨著屏幕縮放,防止圖片變虛。所以我希望它的大小是固定的,寬度方向?qū)?yīng)上個例里的B。
 

第二個是輸入框和按鈕區(qū)域,我希望他們的寬度能和屏幕一起縮放,所以寬度方向?qū)?yīng)A。
 

第三個是三個第三方登錄的按鈕,我要求他們之間的間隙能隨著屏幕的變化而變化,充分利用屏幕空間,也就是寬度方向?qū)?yīng)C。

定位圖片

首先從控件庫里面拖出一個Image View 到畫布上去,在左側(cè)的Attributes inspector 上的Image選框中選擇我們之前導(dǎo)入的logo

接下來就到了添加約束的時候了,最常用的是右下角的四個按鈕,這次會用到后三個。

先介紹一下第一種添加約束的方法:Pin。選中Logo,點(diǎn)擊Pin按鈕,會出現(xiàn)一個Add New Constraints的Popup(如下圖),這個就是我們來添加約束的地方。上部分用來定義當(dāng)前選中的視圖和附近的視圖的上下左右的距離,點(diǎn)擊三角形下拉框可以看它附近的視圖有哪些,有多個的話和可以自己選擇,默認(rèn)是離它最近的那個。點(diǎn)擊紅色的虛線約束線,變實(shí)線后表明添加了相應(yīng)約束。下面可以設(shè)置寬度和高度,你也可以讓它固定長寬比(Aspetc Ratio),這樣就算單向拉伸時你的圖片也不會變形。如果你一起選擇了多個視圖,你可以讓他們等高或等寬,還可以進(jìn)行對齊。

當(dāng)約束線是紅色時,就表明我們添加的約束還有問題??梢钥吹剑谏蠄D左上角有一個紅色的箭頭,這就報錯,點(diǎn)擊后能看到具體的報錯信息:
 

Need constraints for :X position
 

這條信息提示我們沒有給出X方向的位置信息。我們要求這個圖是居中的,所以要添加一個水平方向的居中的約束就可以了。這時候就要用到第二種添加約束的方法了:點(diǎn)擊Align按鈕也會出現(xiàn)一個Popup,我們在這里進(jìn)行各種對齊操作。勾選Horizontally in Container,點(diǎn)擊Add 1 Constraint后就行了。

添加上這個約束后能發(fā)現(xiàn)紅色的線不見了,變成了黃線,還出現(xiàn)了一個黃色的虛線框。這個虛線框表示這是Xcode 通過我們給的約束推斷出來的位置。我們需要Update Frame,讓這個logo跑到它該待的位置。

點(diǎn)擊Resolve AutoLayout Issues 按鈕,在出現(xiàn)的Popup里選擇第一個Update Frames。

Update完成后我們看到Logo 已經(jīng)跑到正確的位置去了,這時候所有的約束線都變成了藍(lán)色。藍(lán)色的約束線就代表Xcode能通過現(xiàn)在所加的約束可推斷出頁面的布局。

定位輸入框和登錄按鈕

接下來就開始定位輸入框,同樣先從控件庫里面拖出一個TextField來,在placeholder 里輸入提示文字。順便提一句,TextField的屬性里有一個Keyboard Type 選框,在這里我們可以選擇該輸入框?qū)?yīng)的輸入鍵盤。如果你的用戶名都是手機(jī)號,那么就應(yīng)該在這里選擇數(shù)字鍵盤。
 

Tips:在iOS系統(tǒng)里,你可以給每個輸入框都指定相應(yīng)的鍵盤。當(dāng)你在設(shè)計(jì)輸入框時可以說明它使用的是哪種鍵盤,如只能輸入數(shù)字的輸入框彈出的就因該是數(shù)字鍵盤。

接下來同樣是用Pin按鈕來添加約束。要求它離上面的Logo 為30 ,輸入框高度為45,寬度隨著屏幕伸縮,屏幕兩邊各留15的邊距(margin)。需要注意的是這里要取消勾選 Constrain to margins 選項(xiàng)。我們設(shè)置的margin是15,而蘋果默認(rèn)也會有一個margin,當(dāng)這個選項(xiàng)勾上以后,默認(rèn)的margin也會算在里面,我們的margin是自定義的,不需要使用默認(rèn)的,所以這里要取消勾選。

添加完成后Update一下,就能看到預(yù)期的效果了。我們可以用同樣的方式定位好第二個密碼輸入框,但是,這里我們要用另一種方式來添加約束,也是第三種常用的添加約束的方法。這次我們要以第一個輸入框?yàn)榛A(chǔ)來定義第二個輸入框。讓第二個輸入框和第一個一樣高,同時首尾對齊。這樣做的好處就是如果我們下次要修改,如修改高度,那么我們只要改第一個,第二個也會跟著變化,而不需要再一個個去改。
 

具體的操作方法是先選中你要定位的視圖,按住Control鍵后拖動到另一個視圖上后釋放,會出現(xiàn)一個菜單,在菜單里可以選擇它們之間的關(guān)系,按住Shift 后可以多選,選好后按Return 確認(rèn)。

我們在彈出的菜單里選擇讓它們首尾對齊(Leading , Trailing),等高(Equal Heights),還有加上垂直方向上距離,Vertical Spacing 就是將當(dāng)前的垂直方向的距離作為默認(rèn)的數(shù)值,我們可以雙擊這個約束線來修改數(shù)值大小,這里我們將大小改為10 。

完成以后我們從控件庫里拖出一個Button ,在Attributes inspector里將標(biāo)題改為“忘記密碼”,顏色改為灰色。用上面的方法讓它與輸入框的 Trailling(尾部) 對齊,同時離上一個輸入框距離也為10 ,放好修改密碼的按鈕。
 

再拖出一個Button,用來做登錄按鈕,將Background改為之前導(dǎo)入的按鈕切圖。用我之前說過的方式添加好約束。這里按鈕的高度為45,離密碼輸入框的距離為60。

第三方登錄模塊 

這樣我們的登錄界面大致就完成了。下面還有一個第三方登錄模塊。首先是“使用第三方賬號登錄”的標(biāo)簽。這是一個Label,直接從控件庫里拖出來,然后修改一下內(nèi)容,顏色,調(diào)整字體,接下來添加兩個約束就行了。一個是屏幕內(nèi)水平方向居中,另一個是距離上面的登錄按鈕40。寬度和高度會根據(jù)內(nèi)容自己判斷,不需要添加。

在上圖中的第4步中的修改字體,當(dāng)我們點(diǎn)擊Font輸入框中的灰色箭頭后會出現(xiàn)一個Popup,里面的第一個下拉框是Font ,當(dāng)我們點(diǎn)擊展開時,就能看到很多選項(xiàng)了,默認(rèn)選擇的是system。

用過iOS系統(tǒng)的人都知道,在系統(tǒng)設(shè)置里面可以修改字體的大小,有些人會將字體都調(diào)大,但很多第三方的App的并不支持這一功能。如果你看過 iOS Human Interface Guidelines的話,你可能會注意到里面有一章講到過 Dynamic Type。iOS 已經(jīng)設(shè)置一部分字體樣式,如果你使用的是這些系統(tǒng)樣式,那么在設(shè)置里調(diào)大字體后,你的App里的字體也能變大。這樣的功能對于我們來說可能用處不大,但是對我們父母來說還是很貼心的。
 

而這里的Text Styles 正是蘋果提供的字體樣式。具體的樣式對應(yīng)的字號,以及隨著系統(tǒng)設(shè)置的變化,各個字體怎么變化,都能查到,我在這里截了一個在默認(rèn)狀態(tài)下的字體大小。詳情點(diǎn)擊這里:https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/

再講一些關(guān)于標(biāo)簽(Label)的問題,一個是我在“添加Label”這個圖上用紅色框框起來的AutoShrink(自動縮放)。通常我們都會遇到這樣的情況:標(biāo)簽的內(nèi)容特別多顯示不下時,多出來的內(nèi)容都會被自動截掉,用省略號代替,有時候省略掉的甚至是比較重要的信息。而這個AutoShirnk就是來解決這個問題的,你可以設(shè)置一個最小字號或者一個最小縮放比例。當(dāng)頁面變化而導(dǎo)致內(nèi)容顯示不下時,你的標(biāo)簽的字號首先會自動縮小,直到縮小到你規(guī)定的最小值時才會將多出的內(nèi)容省略掉。
 

另一種方式是多行顯示,同樣在“添加Label”這個圖上用紅色框框起來的Lines輸入框,默認(rèn)的是1,就代表只顯示一行,你可以在這里設(shè)置顯示的行數(shù),如果你將它改為0,則代表顯示多行。

Tips:在設(shè)計(jì)iOS軟件時應(yīng)優(yōu)先考慮使用Dynamic Type,在設(shè)計(jì)Label時(幾乎每個App 都會用到),應(yīng)該考慮各種極限情況,并給出相應(yīng)適配策略。如當(dāng)文字顯示不下時是讓文字縮小還是省略掉多出來的內(nèi)容。
 

回來繼續(xù)說下面三個第三方登錄按鈕。我的要求是他們之間的間隙隨著屏幕的寬度變化而變化。屏幕寬度越小它們之間靠的就越近,反之則分的越開。想要達(dá)到這樣的效果,我們可以先將他們編一個組,讓這個組的寬度隨著屏幕變化而變化。
 

首先我們先拖出一個UIView,這是一個最基礎(chǔ)的視圖,將它當(dāng)做放按鈕的容器,也就是上面說的組。(這里其實(shí)可以用Stack View 作為這個容器,使用起來更簡單,我在下篇會詳細(xì)介紹Stack View )

按照上圖的要求添加好約束后,我們會發(fā)現(xiàn)一個問題,因?yàn)檫x擇的是Equal Widths ,導(dǎo)致這個組的寬度是和屏幕是一樣寬的,這顯然不是我們要的效果。雙擊這個等寬的約束后,我們能看到我在上一篇里講過的Multiplier了,只需要修改這個約束的Multipier,將它改為0.6,這樣,這個組的寬度就一直是屏幕寬度的60%了。

接下來我們只要將三個按鈕固定在這個組里的最左邊,中間,最右邊就行了。這樣就能到達(dá)我們要的效果了。

添加完成后UpdateFrame,就能看到下圖的效果了。最后我們只要將這個作為容器的View 的背景改為透明就行了。

這樣,我們的登錄界面就完成了,現(xiàn)在這個頁面就能根據(jù)我們的要求適配各個屏幕尺寸了。我們可以選擇不同的模擬器,查看它在不同設(shè)備上的運(yùn)行效果,無論橫屏和豎屏它都能跟著調(diào)整。需要注意一下的是在橫屏情況下可能會有一部分界面超出屏幕范圍,本來所有元素都應(yīng)該放在一個ScrollView里,這樣超出屏幕的部分就能向上滑動了,這里為了方便演示并沒有加。

下面就是它不同設(shè)備上的運(yùn)行效果。

可以看到,它不僅支持iPhone,還支持iPad,而且橫屏豎屏都行,應(yīng)對iPad的多任務(wù)顯示也不在話下。很多人覺得如果要支持iPad 就需要重新開發(fā)一個App。實(shí)際上在本文的開頭,你在創(chuàng)建項(xiàng)目的時候會讓你選擇支持的設(shè)備,默認(rèn)的是Univerasl(全平臺),也就是說你要是適配的好,一個安裝包就能同時支持iPhone 和 iPad,而不需重新開發(fā)。
 

好了,這篇就講到這里,下一篇我會介紹一下Stack View 以及更多AutoLayout 的相關(guān)知識和實(shí)際應(yīng)用。

Via: DDC

]]>
http://m.createwh.com/46122.html/feed 0
iOS尺寸單位pt、ppi與px之間換算關(guān)系 http://m.createwh.com/45808.html http://m.createwh.com/45808.html#respond Fri, 15 Jul 2016 14:32:32 +0000

單位:

pt:ios開發(fā)單位,即point,絕對長度,1pt=1/72英寸。

ppi:Pixels Per Inch,即每英寸所擁有的像素數(shù)目,屏幕像素密度。

 

公式:


舉例:

比如iphone3gs的像素分辨率是480px×320px,按下圖計(jì)算即表示在iphone3gs具有ppi為163,物理屏幕寬度約為3英寸,3*163~480,

因此iphone3gs分辨率為480*320


由于iphone3GS和iphone4的物理屏幕尺寸的大小是一樣的,所以,他們的pt是相同的。但是由于iphone4的現(xiàn)實(shí)像素為960px×640px,也就是說每英寸在iphone4的屏幕下顯示了326個像素(剛好是iphone3GS的2倍)。


即在同一物理長度pt長度下,iphone4的屏幕像素密度是iPhone3GS的2倍,因此像素分辨率是iphone3gs的2倍。

這也就是為什么當(dāng)我們在做iOS客戶端的設(shè)計(jì)時候(通常我們以@2x來設(shè)計(jì)),開發(fā)說的圖片尺寸多少pt,換算成要乘以2的原因了(如果我們做iphone6+的設(shè)計(jì)要在pt數(shù)×3)的由來了。

 

再去看iphone的各個尺寸就很簡單了??梢钥闯鰅phone的屏幕密度只有3種,即

@1x,163ppi(iphone3gs)

@2x,326ppi(iphone4、4s、5、5s、6)

@3x,401ppi(iphone6+)

原文鏈接:jianshu
 

]]>
http://m.createwh.com/45808.html/feed 0
一稿適配所有iOS設(shè)備——AutoLayout入門 http://m.createwh.com/45781.html http://m.createwh.com/45781.html#respond Wed, 13 Jul 2016 06:31:33 +0000

智能手機(jī)發(fā)展到今天,屏幕尺寸變的越來越多,iPhone從最初的3.5寸屏幕,到后來推出的4寸屏,直到蘋果推出iPhone 6 和 iPhone 6Plus,也宣告著蘋果陣營被徹底攻破,進(jìn)入了屏幕尺寸碎片化的時代。只為某一個屏幕尺寸設(shè)計(jì)的日子已經(jīng)不在存在。為了適配所有的屏幕,設(shè)計(jì)師必須考慮各種屏幕尺寸。但是又不可能為每個尺寸都設(shè)計(jì)一遍。那么我們又該如何面對屏幕碎片化的困境?

 圖1,圖片來自:HTTP://WWW.PAINTCODEAPP.COM/NEWS/ULTIMATE-GUIDE-TO-IPHONE-RESOLUTIONS

蘋果給出的答案是AutoLayout。讓你能用一個設(shè)計(jì)來適配所有屏幕,理論上講從iPhone4適配到iPad pro都可以。它希望你忘記某個具體的尺寸。實(shí)際上你可以隨意拖出一個任意尺寸的畫布進(jìn)行設(shè)計(jì),標(biāo)注好后就可以交給工程師開發(fā)。

首先我們先看一下,蘋果的開發(fā)軟件Xcode上是讓你怎么進(jìn)行頁面布局的。

圖2,XCODE.STORYBOARD

中間那塊白色的正方形就是畫布,如果你是使用storyboard布局的話(iOS的布局方式有很多種,storyboard只是其中一種,我在后面會講),你可以將你設(shè)計(jì)好的控件放到這個畫布上去,根據(jù)你標(biāo)注的尺寸定義好它們的位置關(guān)系,接下來AutoLayout就會自動適配各個屏幕了。聽上去好像很神奇。

有些人會有疑問:我是以iPhone6的尺寸為基礎(chǔ)進(jìn)行設(shè)計(jì)和標(biāo)注的,怎么可能在一個正方形上根據(jù)我標(biāo)注的尺寸定好它們的位置關(guān)系,放到這個正方形上,我的標(biāo)注不是全亂了嗎?答案是,是,也是不是。如果你在設(shè)計(jì)和標(biāo)注時只為iPhone6設(shè)計(jì),把適配的問題都拋給了工程師,很有可能最后出來的結(jié)果不是你想要的。相反,即使你是在iPhone6上進(jìn)行設(shè)計(jì),但是你并沒有把思維局限在某個尺寸上,那么你的標(biāo)注放在正方形上也不會亂。

確切的講,如果你是以約束為基礎(chǔ)(constraint-based)來設(shè)計(jì)的界面,那么無論屏幕怎么變化,你的設(shè)計(jì)也會跟著進(jìn)行調(diào)整。

下面我就來講講AutoLayout到底是如何工作的,以及該如何用約束的思想來進(jìn)行設(shè)計(jì)。

對于iOS開發(fā)來講,通常會使用的是兩種布局方式。一種是使用代碼設(shè)置每個視圖(View)的Frame來進(jìn)行定位。另一個則是使用AutoLayout進(jìn)行布局(可以在storyboard上,也可以使用代碼)。假設(shè)我們在iPhone6(375*667)的尺寸下放了有兩個視圖,A和B。

Tips:在iOS開發(fā)中使用的單位是point,也就是@1x下的尺寸。如果你是以iPhone6(750*1334Px)的尺寸進(jìn)行設(shè)計(jì)的,那么里面的尺寸都要除以2才能用。所以建議大家在@1x的環(huán)境下設(shè)計(jì)。本文不做特殊說明,沒標(biāo)單位的標(biāo)注,默認(rèn)單位都為point。 

1.Frame定位

設(shè)置Frame進(jìn)行定位的方法不是本文討論的重點(diǎn),我只在這里簡單介紹一下。首先在iOS里的坐標(biāo)系和我們平時用的有點(diǎn)不同。它的坐標(biāo)原點(diǎn)在左上角。每個視圖都有自己獨(dú)立的坐標(biāo)系。見下圖。

圖3,使用FRAME進(jìn)行定位

通常我們定義一個Frame的代碼(Swift)是這樣的:

let frame = CGRectMake(x:CGFloat, y:CGFloat, width:CGFloat, height:CGFloat)

當(dāng)然你不需要看懂它,只需要知道它要你提供四個參數(shù):x,y,width,height。x ,y 是你要定位的視圖的原點(diǎn)相對于包含它的視圖的(superView)坐標(biāo)系的坐標(biāo)。width,height 當(dāng)然就是你要定位的視圖的寬度和高度了。

總結(jié)一下就是你需要提供位置信息(location)以及尺寸(size)信息。

所以上圖中A,和 B的Frame應(yīng)該是這樣的:

let frameA = CGRectMake(60, 60, 255, 160)

let frameB = CGRectMake(60, 280, 255, 160)

2.AutoLayout定位

AutoLayout布局背后的邏輯則完全不同于上一種方式。同一個圖,AutoLayout可以用下圖這種方式來表示。

圖4,AUTOLAYOUT布局

AutoLayout是通常是通過定義一系列的約束(constrains)來進(jìn)行定位的。和Frame定位一樣,它同樣需要你提供位置和尺寸信息,但是和Frame不同的是,它不是讓你直接提供x,y,width,height,而是通過你給的約束來推斷出相應(yīng)的尺寸和位置。只有當(dāng)能從你給的約束關(guān)系中推斷出位置和大小信息,而且還沒有沖突時,才能通過。

如上圖中的視圖A,我們通過上下左右四個約束定好了它的位置。我們提供了它的高度,但是我們并沒有給出它的寬度。之前說過,要確定一個視圖的布局,你需要提供位置以及尺寸信息。而這里我們卻沒有提供寬度。應(yīng)為寬度不是一個固定的數(shù)值,需要AutoLayout自己通過現(xiàn)有的約束來推斷出視圖A的寬度 = 375(屏幕寬度)— 60—60 = 255,這樣當(dāng)屏幕寬度變化時,視圖A的寬度也會隨之變化。

AutoLayout能夠根據(jù)你在相應(yīng)視圖上設(shè)置的約束,自動計(jì)算出的你定義的視圖的位置和大小。

圖5,當(dāng)外部環(huán)境(屏幕寬度)變化時

當(dāng)周邊環(huán)境變化時,它也隨之改變,這就是AutoLayout能適配不同屏幕的秘訣。

AutoLayout的應(yīng)用并不局限于應(yīng)對外部環(huán)境的變化(屏幕大小變化),即使在同一個屏幕內(nèi),當(dāng)頁面內(nèi)容開始變化時,AutoLayout也能做出相應(yīng)的調(diào)整。假設(shè)現(xiàn)在因?yàn)槟撤N原因,視圖A的高度變?yōu)榱?10。那么就會出現(xiàn)以下兩種結(jié)果:

 圖6左,F(xiàn)RAME
圖6右,AUTOLAYOUT

用Frame定位方式,因?yàn)橐晥DA,B的位置信息是獨(dú)立的,A的變化,并不會影響B(tài)的位置,所以當(dāng)A變高時,A,B之間高度方向的距離就被壓縮了,可以想象,當(dāng)A繼續(xù)變高時,A和B之間就會出現(xiàn)疊加的情況,這顯然不是我們希望看到的效果。

而AutoLayout則不同,由于B高度方向的位置是相對于A的,所以當(dāng)A變高時,B的位置也會跟著變化。這當(dāng)然是我們希望看到的結(jié)果。

由此可見,AutoLayout的應(yīng)用場景不局限于適配不同的屏幕尺寸,即使在軟件運(yùn)行的過程中,當(dāng)頁面變化時它也能夠跟著調(diào)整。

需要提一下的是,使用Frame定位的方式也是能實(shí)現(xiàn)上面這種AutoLayout的效果的,反之我們也能使用AutoLayout來實(shí)現(xiàn)像Frame這種A,B不相互影響效果,我在這里不細(xì)說,有興趣的可以自己去思考一下。舉這個例子,只是為了說明絕對定位和相對定位的區(qū)別。

3.AutoLayout 的屬性(AutoLayout Attributes)

相對于Frame通常要你提供的x,y,width,height,AutoLayout可用的屬性則多的多,常用的屬性有這些:

Left

Right

Top

Bottom

Leading

Trailing

Width

Height

CenterX

CenterY

Baseline

查看所有屬性可點(diǎn)擊這里:

https://developer.apple.com/library/ios/documentation/AppKit/Reference/NSLayoutConstraint_Class/index.html#//apple_ref/c/tdef/NSLayoutAttribute 

圖7,AUTOLAYOUT 屬性

這些屬性也大概可以分為兩類:大小(size)如width ,height ;位置(Location)如Leading,Trailing,Top,Button。

有了這些屬性,我們不僅能夠定義不同視圖之間的距離,讓它們對齊,定義不同視圖之間的相對尺寸,甚至可以定義一個視圖的長寬比。

值得注意的是其中的Leading 和Trailing,并不等于Left和Right。Leading代表的是閱讀開始位置。通常我們都是習(xí)慣從左邊到右來閱讀,這種情況下Leading就是Left,Trailing就是Right。但并不是所有的國家都是依照這個方式的,比如中國古代的書,就是從右到左的,這時候Leading就在Right了。如果你的App用戶是國際化的,需要注意這個問題。通常情況下,我們都使用Leading,Trailiing。

8 不同語言環(huán)境下Leading和Trailing的區(qū)別

圖8,不同語言環(huán)境下LEADING和TRAILING的區(qū)別

圖9

假設(shè)我們有以上兩個View,現(xiàn)在要求他們間隔距離為8,如上圖所示。那么他們之間的約束關(guān)系就可以這么表示:

ViewB.Leading = 1.0 x ViewA.Trailing + 8

其中1.0 是一個系數(shù)(Multiplier),這種情況下,這個系數(shù)為1.0

4.舉個例子

下面就講一個具體的例子來說明一下AutoLayout應(yīng)用。

假設(shè)我設(shè)計(jì)了一個這樣的界面(375*667),接下來要交給工程師進(jìn)行開發(fā)。我的要求如下:

1.三個視圖離頁面兩邊的距離都為37.5

2.每個視圖之間的距離,包括視圖離頁面頂端和底端的距離都要一樣,為40

3.三個視圖的寬度和高度要一樣。

我按照這些要求進(jìn)行了標(biāo)注,以下就是我想達(dá)到的效果以及我的標(biāo)注:

圖10左,我要實(shí)現(xiàn)的效果
圖10右,我的標(biāo)注

先分析一下我們的標(biāo)注。

首先我要求每個視圖離頁面兩邊的距離都為37.5。在標(biāo)注里我很明確地說明了這個問題。

其次,我要求每個視圖之間的距離,包括視圖離頁面頂端和底端的距離都要一樣,為40。在標(biāo)注中我也很明確地說明了這一點(diǎn)。

最后,我要求每個視圖的寬度和高度要一樣。在標(biāo)注里,每個視圖的高度都標(biāo)了169,符合我一樣高度的要求。我給第一個視圖標(biāo)上了寬度300,其他兩個和第一個首尾對齊,也是300,符合我一樣寬度的要求。

乍一看這個標(biāo)注沒有問題。但是這里我們確忽略了一個很重要的問題。這個圖我是以iPhone6的尺寸來設(shè)計(jì)的,但是實(shí)際情況,它并不只會出現(xiàn)在iPhone6的屏幕上。按照上面的標(biāo)注,標(biāo)注的總寬度 = 37.5*2 + 300 = iPhone6的屏幕寬度(375)。但是如果換一個手機(jī)屏幕,這個等式就不成立了。同樣,高度也是這個問題。這樣就和實(shí)際情況產(chǎn)生了沖突。

Tips:當(dāng)你的標(biāo)注在寬度方向,或高度方向的數(shù)值加起來等于某一個具體的屏幕尺寸時,你就需要去重新去檢查你的標(biāo)注了,需要說明那些尺寸是固定的,哪些尺寸是可變的。

顯然,工程師無法滿足你標(biāo)注的所有尺寸要求。如果他只看到你給的標(biāo)注文件,而不知道你的三點(diǎn)要求。那么這個標(biāo)注在寬度方向大概就出現(xiàn)了以下幾種可能性:

1.保持兩邊各37.5的邊距(margin)要求,每個視圖的寬度根據(jù)屏幕的寬度來伸縮

2.每個視圖的寬度保持300不變,兩邊的邊距根據(jù)屏幕的寬度來伸縮

3.視圖的寬度和邊距隨著屏幕的寬度變化一起縮放

從我們之前的要求來看,我們希望的是第一種可能性的,只是我們的標(biāo)注沒有很好的說明這個點(diǎn)。工程師需要靠自己的理解來選擇其中一種,有時候他的選擇可能并不是我們想要的結(jié)果。

我們該如何標(biāo)注,來很好的表達(dá)我的要求?正確的標(biāo)注應(yīng)該是這樣的:

圖11,正確的標(biāo)注方式

首先,我去掉了寬度的標(biāo)注,就像上個例子說的一樣,我們需要AutoLayout自己來計(jì)算出它的寬度,也就意味著我們是希望每個視圖的寬度隨著屏幕的寬度變化而變化。其次,我去掉高度的具體數(shù)值,只標(biāo)了一個h。同樣,因?yàn)槠聊坏母叨仁遣还潭ǖ模晕覠o法給出具體的高度,但是我又要求每個視圖的高度是一樣的。通過給每個視圖標(biāo)注高度h,來表示他們的高度一樣。

5.表達(dá)三種不同可能性

之前我說過,我第一次給出的標(biāo)注大概可以有三種不同的理解,那么我們又該如何來表達(dá)這三種可能性呢?下面我就來說一下,如何使用AutoLayout的方式標(biāo)注,來很明確地來表現(xiàn)以上三種可能性。

圖12 

第一個視圖的標(biāo)注,保持兩邊各37.5的邊距(margin)要求,每個視圖的寬度根據(jù)屏幕的寬度來伸縮,這個上面說過。

第二個,我標(biāo)注了寬度,沒標(biāo)邊距。但是我們要求它水平方向居中,通過這個約束來確定它水平方向的位置。這樣邊距就可以根據(jù)屏幕的寬度變化而變化。

第三個,我標(biāo)注了寬度為80%的屏幕寬度,這樣它就能做到和屏幕一起縮放。

圖13

我在Xcode上添加好了上面要求的約束,并選擇在不同的模擬器上運(yùn)行。這樣就可以看到我們設(shè)計(jì)的頁面在不同設(shè)備上運(yùn)行的效果了。以下就是它在不同屏幕尺寸下顯示的效果:

圖14

可以看到,在iPhone6上一模一樣的三個視圖,應(yīng)為我們設(shè)置了不同的約束,在不同的設(shè)備上運(yùn)行就出現(xiàn)了不一樣的效果。因?yàn)锳utoLayout是根據(jù)你設(shè)置的約束,自動計(jì)算出的你定義的視圖的位置和大小。

為了適配更多的屏幕,我們在設(shè)計(jì)的時候需要用相對定位的思維來布局。

這次就講到這里,下一篇我會介紹更多AutoLayout相關(guān)知識,以及如何使用Xcode來添加約束,做出你自己設(shè)計(jì)的頁面。

Via: DDC

]]>
http://m.createwh.com/45781.html/feed 0
iOS 7圖標(biāo)PSD素材 http://m.createwh.com/37495.html http://m.createwh.com/37495.html#respond Sun, 02 Mar 2014 15:18:28 +0000 http://m.createwh.com/37495.html/feed 0
欧美一级精品高清在线观看| 成a人片在线观看久亚洲| 亚洲国内网友自拍视频| 亚洲av成人午夜电影在线观看| 亚洲专区+欧美专区+自拍| av亚洲情色在线观看| 精品国产一区二区三区无码孕妇| 精品午夜在线观看视频一区二区 | 天天日天天摸天天操天天干| 国产资源在线中文字幕| 韩国民间高潮内射播放| 超碰97人人大香蕉| 天天干天天日天天扣| 狠狠躁夜夜躁人爽碰88%| 区一区二视频在线观看| 黄色蜜桃av黄色在线| 亚洲二区三区视频在线观看| 青青青青青青青青青青青青青青青| 全国男人最大的天堂网| 免费日本伦理片在线观看| 又黄又猛又大又长又硬又久免费| 不卡av在线免费看| 人人妻人人澡人人爽人人精品日本| 人妻少妇精品专区性色av不卡| 我要看黄色片子一级片子| 91九色老熟女视频蝌蚪 | 国内少妇人妻偷人精品视频| 国产精品高清在线免费观看| 三级日本理论在线观看| 亚洲国产日韩久久久| 国产精品大片在线观看| 亚洲午夜精品久久久中文影院| 日本视频一二三四五六七八十| 亚洲熟女乱色一区二区三区丝袜 | 玩弄放荡人妻少妇在线视频| 自拍亚洲国产精品成人| 91麻豆精品国产自产在线91| 精品老熟女一区二区三区在线| 亚洲午夜资源在线观看| 亚洲国产精品自产拍在线观看| 国内精品久久久久精品爽爽| 欧美丰满熟妇bbbbbb| 成人av精品在线观看| 国产精品综合系列av| 7777久久亚洲中文字幕密| 婷婷激情五月俺也去| 99久久免热在线观看| 特级黄色搞逼的亚洲的| freesex高清日本| 99亚洲综合色在线观看| 91普通话国产对白在线| 日韩精品中文字幕欧美激情| 在线视频日韩另类综合| 亚洲av成人午夜电影在线观看| 自拍偷拍唯美清纯亚洲| www成人美女露双乳球91| 不卡不卡一区二区三区| 天天操天天色天天透| 精品视频在线观看免费三区| 久久中文字幕日韩精品| 男人一抽一插视频在线观看免费 | 7久久久久久久久久久久久| 操操操在线免费观看| 天堂成人免费在线播放视频| 人妻一区视频在线观看| 狠狠躁夜夜躁人爽碰88%| 噜噜噜噜噜久久久久久91| 亚洲成人制服丝袜av在线播放| 韩国av一区二区在线观看| 汤唯梁朝伟激情无删减在线| 亚洲三级av高清在线播放| 亚洲精品成人一区二区在线| 99热在线视频观看免费| 青春草97在线视频| 最近日本MV字幕免费高清在线| 一区二区三区高清在线播放| 久久久有码一区二区三区| 亚洲一区二区中文字幕久久| 国产剧情视频在线观看| 精品午夜在线观看视频一区二区| 国产91刺激对白在线播放 | 五十路视频在线观看| 美女被躁aaa久久久久久亚洲| 天天操天天操天天操天天操夜夜操| 啪啪啪亚洲丝袜诱惑天堂av| 欧洲美女b毛裸体日韩影院| 青青操在线视频播放| 青青青青青青青青在线视频观看 | 女人的鸡巴豆豆视频| 在线亚洲男人的天堂| 天天射天天舔天天摸| 日本不卡免费中文字幕| 青青草原 华人在线| 亚洲欧美日韩制服诱惑国内| 精品一区二区三区四区99| jvid精品一区二区三区| 日本视频一二三四五六七八十| 国产一级a毛一级a看91| 91精品国综合久久久蜜臀九色| 亚洲黄色片一级视频| 欧美一区二区无卡免费| 人妻之和服诱惑在线| 国模在线观看一区三区5区| 亚洲国产日韩久久久| 亚洲卡一卡二卡三在线| 国产不卡av在线免费观看 | 日本视频一二三四五六七八十| 我爱熟女视频一区二区三区| 都市激情亚洲校园春色| 日本性生活视频免费观看| 色yeye香蕉蜜臀av一区| 亚洲欧美偷拍综合图片| 国产福利社区一区二区| 大伊香蕉在线精品视频人碰人| 亚洲精品视频在线观看你懂的| 亚洲青青草原在线视频| 国产综合区久久久久久| 热99久久这里只有精品| 瑟瑟爱成人免费在线| 亚洲二区三区视频在线观看| 久久国产精品一区二区久久| 亚洲欧洲在线观看av| 成人黄色一级av大片在线观看| brazzerss色欧美熟妇| 91九色ts另类国产人妖| 欧美中文字幕一区二区| 欧美性生活黄色图片| 国产在线视频网站你懂得| 欧美伦理在线一区二区三区| 欧美日韩激情第一站| 亚洲乱熟女一区二区三区三州| 日韩精品中文字幕欧美激情| 精品熟妇视频在线观看| 曰韩中文字幕在线视频| 欧美顶级aaaaaa| 国产精品女人精品久久久天天| 一区二区三区亚洲av色图| 久久夜色精品国产69| 日韩精品中文字幕美女| 九色亚洲一区二区三区| 日日摸夜夜精品一区| 色偷偷2019免费视频| 国产一区日韩一区日韩| 特级黄色搞逼的亚洲的| 亚洲avav在线天堂| 欧美性猛交XXXXX按摩欧美 | 国产99精品一区二区三区四区| 91久久国产精品高潮| 超碰97在线视频观看| 亚洲自拍偷拍视频区| 在线观看一区二区国产| 青青视频网久久在线免费观看| 国产精品污污污网站入口| 国产一区日韩一区日韩| 丰满诱人的少妇3伦理| 亚洲中文字幕123| 一区二区在线观看视频网站| 日本免费一区二区不卡视频| 一区二区三区高清在线播放| 美女视频在线欧美日韩| 久碰人妻人妻人妻人妻人调教女王| 大鸡巴操出淫水视频| 亚洲av成人天堂在线| 玩弄放荡人妻少妇在线视频| chinesehd一区二区三区| 香蕉老师一区二区三区| a√最新在线一区二区三区亚洲| 国产精品高潮呻吟av蜜臀| 青草视频在线观看观看大全| 中文字幕乱码一区蜜臀av| 中文字幕乱码熟女人妻在线第一页 | 清纯唯美激情自拍偷拍少妇| 日本五十六十路中出视频| 欧美成人小视频在线| 不卡av在线免费看| 人妻丝袜中文字幕视频| 91人妻精品一区二区三区小区 | 日本韩国三级伦理片| 97人妻人人澡人人搡| 少妇无码一区二区三区四区| 超碰在线97免费观看| 鸡巴双插美女在线视频| 麻豆视频黄版在线观看| 97人妻起碰免费观看| 久久久久久美女精品啪啪| 九色精品国产一区二区| 欧美整片一区二区三区| 国产成人亚洲情趣丝袜888| 操你啦操你啦在线观看| 好吊视频一区2区3区| 乱子伦国产精品视频在线观看| 天天干天天色天天爽| 在线视频日韩另类综合| 成人精品视频99在线观看免费| 国产一级片久久免费看同| 久久精品天堂一区二区| 青青草国产在线视频观看| 大胆少妇高潮毛片免费看| 色播五月亚洲综合网| 看全色黄大色黄女片18女人| 欧美人成视频在线视频| 又大又长又爽又硬又粗| 住在隔壁欲求不满的丰满人妻| 日韩色系视频免费观看| 男女搞黄色视频日本| 成人三级视频在线观看一区二区| 欧美性生活黄色图片| 精品熟妇视频在线观看| 亚洲熟女乱色一区二区三区丝袜| 欧美性生活黄色图片| 在线观看成人精品视频自拍| 国产精品国产三级精品| 熟妇激情内射com| 成人午夜福利一区二区| 国模在线观看一区三区5区| 亚洲国产日韩久久久| 精品在线视频播放你懂的| 天天操天天干天天忙| 蜜桃亚洲一区二区三区| 免费看视频高清无码| 人妻久久久www999| 天天热天天操天天干| 女人把腿张开让男人捅在线看| 青青青视频观看免费在线观看视频| 中文字幕乱码熟女人妻在线第一页| 手机av中文字幕在线| 青青e热线视频国产免费6| 青青草国产在线视频观看| 美乳人妻中出中文字幕在线| 天天日天天色天天射天天色综合| 美女被躁aaa久久久久久亚洲| 黄色av美女免费网站| 中文字幕久久99精品| 女人扒开的小泬高潮免费视频| 91大神视频哪里能看| 精品国产一区二区三区无码孕妇| 日本一本道精品一区二区| 亚洲综合天堂婷婷六月丁香| 亚洲v欧洲va国产va| 欧美成人激情一区二区| 精品极品在线观看视频| 偷拍区自拍区亚洲欧美| 日本熟妇hd免费视频| 国产福利资源在线视频| 国产 精品 自拍 视频| 天天干天天要天天色| 日韩福利在线免费视频| 亚洲国内网友自拍视频| 97国内视频在线观看| 久久久久有精品国产白浆| 免费在线观看一级视频| 亚洲成人精品999| 卡通动漫欧美亚洲综合| 亚洲中文字幕123| 亚洲成人精品999| 亚洲va日韩va欧美va| chinese熟女高潮喷水| 黄片高清男人的天堂| 色yeye香蕉蜜臀av一区| 午夜在线成人免费视频| 欧美人成视频在线视频| 台湾中文妹子网一区二区| 激情五月婷婷亚洲综合| 亚洲精品乱码久久久久的用户评价| 国产美女丝袜诱惑一区| 日韩高清不卡视频在线观看| 欧美黄页视频免费在线观看| 国产黄色免费精品网站| 黄色91免费一区二区| 91在线手机视频播放| 男女搞黄色视频日本| 高清av在线中文字幕| 男人和女人一起插插插的视频| 亚洲熟女乱色一区二区三区丝袜 | 日本免费最新不卡视频| 色在线视频在线观看| 在线视频日韩另类综合| 和农村大屁股熟妇的艳遇| 久久久久久九九九九热| 出轨人妻少妇500视频| 人妻少妇偷人精品久久视频| 国产精品高潮呻吟av蜜臀| 最近中文字幕在线中文字幕7| 精品国产第一区二区三区日韩| 日本aaaaa级大片| 中文字幕成人精品一区二区| 91人妻丰满熟妇aⅴ无| 中文字幕乱码熟女人妻在线第一页| 中文字幕久久99精品| 青青免费操在线视频观看| 精品熟妇一期二区三期| 这里只有99精品最新| 欧美一级精品高清在线观看| 天天射天天舔天天摸| 国产,av,中文字幕| 中文字幕无码免费久久99| 人妻人人做人人澡人人添| 日日噜噜夜夜狠狠久久蜜桃| 国产欧美亚洲精品a第一页| 伊人久久大香线蕉av综合| 日韩精品成人影院在线观看 | 青草视频在线观看观看大全| 日韩福利在线免费视频| 久久99精品久久久久久国产水牛| 9色熟女露脸九色自拍视频| 国产欧美亚洲精品a第一页| bbbb在线免费av| 欧美国产亚洲欧美国产| 亚洲春色 偷拍自拍| 久久综合久久综合鬼色| 免费黄色在线免费观看| av网址在线免费看| 精品国产乱码久久久久久桃色| 一区二区三区经典不卡| 一区二区三区经典不卡| 精品熟妇一期二区三期| 日本少女漫画之不知火舞| 精品一区尤物视频蜜桃| 国产情侣自拍一区视频| 亚洲视频在线观看精品视频| 亚洲美女屁股眼交4| 天天插天天射天天色网站| 精品无人伦一区二区三区| 91精品一区国产在线| 天天碰天天干天天色| 在线视频 欧美 日本| 欧美顶级aaaaaa| 亚洲另类图片综合小说| 男人电影天堂在线观看| 中文字幕2023av| 欧美三个人性极品另类| 亚洲成a人7777在线播放| 鸡巴双插美女在线视频| 欧美美女免费在线视频| 欧美性猛交XXXXX按摩欧美| 久久青草欧美日韩精品| 日本午夜一级成人片| 手机av中文字幕在线| 亚洲熟妇自偷自拍另欧美| 青娱乐在线分类视频| 日本福利网址导航大全| 人妻中文字幕久久不卡| 久久国产精品一区二区久久| 全国男人最大的天堂网| 亚洲 自拍 制服 丝袜| 天天操天天射天天舔内射| 美乳人妻中出中文字幕在线| 日本直接看不卡的视频在线| 亚洲精品综合激情久久| 人妻中文字幕一区二区三| 桃色成人国产av在线电影| 俩男人日舔一个女人的B视频| 色就是色欧美setu| 欧美一级中文字幕免费在线| 丁香六月激情综合婷婷| av毛片黄片在线观看| 日本熟妇hd免费视频| 久久久久高清免费看| 岛国av动作片免费在线观看| 青青青视频观看免费在线观看视频| h成人动漫在线播放| 天天插天天射天天色网站 | 玩弄放荡人妻少妇在线视频| brazzerss色欧美熟妇| 熟女高潮一区二区三区在线视频| 成人免费动漫网站入口| 中文字幕色在线视频| 国产在线视频网站你懂得| 99久久婷婷综合五月| 日本限制级三级电影| av毛片黄片在线观看| 欧美激情三级线在线观看在线播放| 中文字幕 日韩精品 在线| 国产欧美中文在线视频| 动漫精品福利视频在线观看| 中文字幕色在线视频| 国产高清视频在线观看97 | 夜夜躁爽日日躁狠狠躁av| 九七超碰人人干人人爽| 五月天久久丁香综合国产一区| 中文字幕一区一二三区四区五区人| 天天操天天爽天天操天天| 日韩高清不卡视频在线观看| 99分女朋友电视剧在线观看| 一区二区三区高清在线播放| 2020最新国产精品| 中国美女操逼一区二区三区| 中国男人的天堂天堂网| 让少妇高潮无乱码高清在线观看| 精品国产第一区二区三区日韩| 天天插天天射天天色网站| 成a人片在线观看久亚洲| 欧美男男激情freegay视频| 人人妻人人澡人人爽精品日本 | 国产剧情v 在线精品| freesex高清日本| 国产 精品 自拍 视频| 成人30分钟毛片免费| 啪啪啪亚洲丝袜诱惑天堂av| 在线观看日韩完整版高清| 中文字幕久久久久久| 天天草天天干天天插| 又大又爽又粗在床上app| 国产精品jizz在线观看| 国产精品久久久久久久久久免费动| 日本免费一区二区不卡视频| 欧美一区二区无卡免费| 久久免费少妇高潮a特黄| 欧美日韩午夜中文字幕一区| 午夜在线美女网站视频| 在线免费观看日b视频| 中文字幕亚洲欧美加勒比| 久久中文字幕2015| 亚洲色大WWW永久网站| av老熟妇在线播放网| 中国美女操逼一区二区三区| 污视频在线观看地址| 久久久久久av电影av| 大胆少妇高潮毛片免费看| 黄页网站大全在线看免费视频| 91普通话国产对白在线| xxx欧美插爽多人视频| 天堂在线中文字幕av| 好大好硬好深好爽动态图| 真实亲子乱子伦纪实| 我爱熟女视频一区二区三区| 69国产精品视频免费播放| 在线观看免费日本av| 97人妻起碰免费观看| 在线免费观看三上悠亚av| 精品视频一区二区在线观看免费| 精品熟妇视频在线观看| 大香蕉一条大香蕉 下一句| 天天操天天摸天天干天天舔| 黄色av美女免费网站| 蜜桃亚洲一区二区三区| 国产成人高清精品亚洲一区二区| av在线免费看影视网站| 精品视频在线免费播放15 | 欧美激情三级线在线观看在线播放 | 9l视频自拍蝌蚪9l成人蝌蚪| 天天透天天狠天天日| 欧美成人在线视频365天资源站| 国产avvs日产av| 曰本成人中文字幕在线视频| 久久综合久久综合鬼色| 日本不卡免费中文字幕| 亚洲自拍中文字幕在线| 天天操天天干天天忙| 中文字幕 日韩精品 在线| 116美女午夜写真视频| 青青久热免费精品视频2| 黄片 18禁大胸av一区二区| 色yeye香蕉蜜臀av一区| 国产美女丝袜诱惑一区| 9色熟女露脸九色自拍视频| 欧美亚洲国产精品中文字幕| 久久99精品久久久久久国产水牛| 香蕉老师一区二区三区| 欧美1区2区3区4区| 欧美在线观看黄页网址| 亚洲午夜资源在线观看| 亚洲av成人天堂在线| 成人av精品在线观看| 鲁大师在线观看视频免费高清版| 色在线视频在线观看| 亚洲午夜资源在线观看| 天天操天天爽天天操天天| 超碰91在线资源站| 青娱乐午夜福利在线观看视频| 激情综合五月天一区二区| av老熟妇在线播放网| 久久久亚洲女精品aa| 不卡中文字幕在线视频| 内射欧美少妇小骚逼里面| 青青草手机免费在线观看高清视频| 国产黄色免费精品网站| 国产资源在线中文字幕| 中文亚洲爆乳无码专区转码| 天天舔天天日天天干天天操天天射 | 大型黄色av网站在线播放| 黄色av美女免费网站| 7x7x7x成人免费| 9色熟女露脸九色自拍视频| 偷拍专区 视频专区 偷拍专区| 在线免费观看三上悠亚av| 囯产亚洲精久久久久久无码| 熟女老阿姨中文字幕av| 人妻诱惑久久中文字幕在线视频| 日本一二三区不卡高清| 亚洲尺码和欧洲尺码av| 精品国产二区三区四区| 特级黄色搞逼的亚洲的| chinesehd一区二区三区| 亚洲中文字幕2区8页| 精品熟妇视频在线观看| 亚洲av成人午夜电影在线观看| 久久久久久久久久久 亚洲| av在线免费看影视网站| 一级日韩一级欧美片| 99免费在线精品视频| 日韩亚洲中文字幕不卡精品| 18禁在线视频免费观看| 99奇米a在线观看视频| 婷婷激情丁香花五月天| 日韩av综合中文字幕| 亚洲中文字幕2区8页| 在线91精品亚洲网站精品成人| 伊人久久大香线蕉av综合| 青青青在线免费看视频| 7777久久亚洲中文字幕密| 婷婷激情五月俺也去| 用我的大鸡巴操熟女大浪逼| 欧美色噜噜噜视频在线| 日韩第一视频在线观看| 免费黄在线观看网站| 掰开人妻腿射满精液| 91成人精品在线一区二区三区| 天天色天天日天天色| 日韩高清不卡视频在线观看| 人人妻人人澡人人爽精品日本 | 一区二区三区午夜探花| 男人机巴插进女人逼视频| 大香蕉一条大香蕉 下一句| 亚洲麻豆av免费在线| 好好的日在线视频播放| 可以免费在线观看av的软件| 91在线播放手机视频| 男人和女人一起插插插的视频| 又大又爽又粗又黄少妇毛片| 在线观看自拍视频国产| 国产高清视频在线观看97| 7久久久久久久久久久久久| a女人毛片一区二区三区| 亚洲精品伦理熟女国产一区二区| av二区免费在线观看| 男人一抽一插视频在线观看免费| 1级黄色片在线观看| 2021国产精品视频| 久久精品天堂一区二区| 国产精品亚洲美女视频| barazza熟女俱乐部| 中文字幕 人妻 一区| 亚洲日韩成人无码电影| 男人把女人操出白浆视频| 亚洲影音av资源在线观看| 国模在线观看一区三区5区| 91久久精品免费视频| 日韩精品成人影院在线观看| 污视频在线观看地址| 青青草国产在线视频观看| 亚洲av天堂在线视频| 天堂av在线大香蕉观看| 午夜激情大尺度在线| 国产精品情侣高潮呻吟| 国产福利社区一区二区| 天堂成人免费在线播放视频| 在线免费观看三上悠亚av| 人妻之和服诱惑在线| av在线免费看影视网站| 亚洲少妇色小说综合| 亚洲一区二区中文字幕久久| 一区二区三区在线观看18| 亚洲视频在线观看精品视频| 人人妻人人澡人人爽人人在线观看 | 亚洲一区高清资源在线| 一区二区三区精品无| 911亚洲精选青草衣衣| 一区二区三区亚洲av色图| 日韩在线电影一区二区三区| 老鸭窝精品视频在线| 亚洲国产成人久久笫一页| 国产黄色免费精品网站| 懂色精品欧美日韩懂色a| 人妻久久久www999| 欧美大几巴舔小嫩逼视频| 邻居中文字幕在线观看| 人人妻人人澡人人爽人人在线观看| a级大片视频免费看| 中文字幕小综合 97视频| 青青操在线视频播放| 99久久婷婷国产综合亚洲| 成人性生交大片免费看中文带字幕| 久久久精品一卡二卡| 亚洲网址在线免费观看| 亚洲成a人在免费观看| 九色亚洲一区二区三区| 天天操,天天干,天天插| 18禁在线视频免费观看| 少妇一区二区三区观看网站| 美女被躁aaa久久久久久亚洲| 91精品人人妻人人做人人爽| 99国产精品视频免费观看一公| 国产又粗又黄又猛视频| 91粉色国产福利在线观看| 中文字幕一区二区免费视频| 青青青青青青青青草视频在线观看| 日韩亚洲中文字幕不卡精品| 午夜激情大尺度在线| 大香蕉www大香蕉| 91污短视频在线观看| 福利视频免费在线播放| 日本不卡一区二区三区高清视频| 青娱乐午夜福利在线观看视频| 日日噜噜夜夜躁躁狠狠| 人妻一区二区中文字幕91| 在线观看成人精品视频自拍| 国产剧情精品在线观看| 天天日天天色天天射天天色综合| chinese国产高清av| 亚洲综合在线视频在线| 噜噜噜噜噜久久久久久91| 人无套内射人妻毛片| 91麻豆欧美成人精品| 牛牛精品大机巴男人日B片| 日韩熟女制服卡通人妻av| 国产精品视频一区在线观看| 一区二区三区 中文字幕 在线| 对邻居人妻下春药中文字幕| 日本黄色十八禁视频播放器| 欧美日韩激情第一站| 日本club女同性恋视频网| 青青草原精品在线观看| 天天做天天摸天天爽| 女孩要大鸡巴干免费短视频| 欧洲熟妇女久久久久久久| 亚洲va日韩va欧美va| 天天日天天插天天色| 日韩精品中文字幕欧美激情| 少妇高潮区二区三区| 最近最新的中文字幕国语在线| 区一区二视频在线观看| 欧美视频精品免费观看| 日本不卡免费中文字幕| 亚洲精品乱码久久久久的用户评价| 亚洲春色 偷拍自拍| 顶级嫩模被啪啪得娇喘呻| 宅男噜噜噜666国产免费| 在线免费观看三上悠亚av| 三级日本理论在线观看| 黄色免费电影网站东京热| 国产九色自拍美女大胸视频| 人妻少妇偷人精品久久视频| 亚洲人成电影网站 久久影视| 亚洲成a v人片在线观看| 在线观看免费日本av| 91污短视频在线观看| 亚洲精品成人在线观看av| 女子裸体免费视频网站| 天天操天天摸天天干天天舔| 亚洲精品视频在线观看你懂的| 久久久久久久久久久久久久久蜜桃| av老熟妇在线播放网| 国产午夜在线激情免费| 自拍偷拍唯美清纯亚洲| 亚洲三级av高清在线播放| 美国和俄罗斯特级大黄片| 国产精品高清在线免费观看| 午夜在线美女网站视频| 激情视频大鸡巴操小逼高潮喷水| 中文字幕一区二区免费视频| 中文字幕+乱码+中文字幕黄片| 亚洲高清资源在线观看| 日韩精品中文字幕欧美激情| 亚洲午夜免费观看视频| 亚洲熟女激情一区二区| 少妇被粗大的猛烈进出动视频| 老鸭窝精品视频在线| 和农村大屁股熟妇的艳遇| 九色精品国产一区二区| 亚洲天堂中文在线播放| 鲁大师在线观看视频免费高清版| 人妻熟妇av一区二区| 亚洲天堂2018中文字幕| 日日夜夜精品视频看看| 97在线视频在线观看| 午夜丁香婷婷在线视频| 久久国产精品一区二区久久| 动漫精品福利视频在线观看| 99国产精品视频免费观看一公| 可以免费在线观看av的软件| 在线观看成人精品视频自拍| 亚洲激情 另类图片| 中文字幕久久99精品| 久久中文字幕日韩精品| 丰满人妻大屁股一区| 麻豆激情网站一区二区| 洲色熟女图激情另类图区| 亚洲欧洲自拍偷拍av| 日本福利网址导航大全| 一区二区三区熟女人妻| 成年人亚洲黄色av天堂| 青青视频网久久在线免费观看| 欧美男男激情freegay视频| 女孩要大鸡巴干免费短视频| 中文字幕日韩人妻在线天堂| 色哟哟播放器视频在线观看免费| 国产剧情视频在线观看| 亚洲三级av高清在线播放| 亚洲自慰久久久自慰喷水网站| 亚洲青青草原在线视频| 国产又粗又长又黄亚洲| 国产a久久久久久久| 超碰97人人大香蕉| 国产综合区久久久久久| 亚洲影音av资源在线观看| 与上司出轨的人妻电影在线| 成人性生交大片免费看中文带字幕 | 亚洲成人制服丝袜av在线播放| 人妻精品这里只有精品| 中文字幕日韩人妻在线天堂 | 久久免费少妇高潮a特黄| 国产美女啪啪啪啪啪啪| 偷拍区自拍区亚洲欧美| 99精品人人做人人爽| 日韩久久久久中文字幕| 久久午夜偷拍免费视频| 婷婷久久丁香中文字幕| 日日操夜夜爽天天干| 久久午夜偷拍免费视频| 亚洲国产一区在线播放视频| av 在线 地址一| 黄色av美女免费网站| 亚洲伊人色综合网站| 久久99亚洲一区二区| 欧美成人小视频在线| 成a人片在线观看久亚洲| 人妻之和服诱惑在线| 久久久久久久久久久久久久久蜜桃| 操你啦操你啦在线观看| 欧美视频精品免费观看| 天天射天天干天天透综合网| 九色91露脸半推半就熟女| 啪啪网国产精品视频| 日本福利网址导航大全| 在线亚洲精品一区二区不卡91| 九九久久只有这里有精品| 日本一本道精品一区二区| 国产老鸭窝在线观看| 精品在线视频播放你懂的| 中文字幕一区一二三区四区五区人| 韩国女主播青草直播视频| 国产久碰青草视频在线| 日韩精品人妻久久久一区| 我想看大鸡吧操女人的小湿逼| 亚洲熟妇自偷自拍另欧美| c美女福利r18视频在线观看| 在线精品免费观看一区三区| 青青免费操在线视频观看| 久久精品成人免费国产片小草| 在线视频聊天你懂得| 97国内视频在线观看| 中文字幕成人精品一区二区| chinesehd一区二区三区| 狠狠cao久久cao| 天天操天天摸天天草| 啪啪啪小视频免费网站| 精品极品在线观看视频| 午夜日本免费观看视频| 人妻一区视频在线观看| 女人18免费av毛片| 在线观看日韩完整版高清| 中国人妻一区二区三区| 国产一级av国片免费| 久久久久久91精品人妻| 欧美国产一区免费在线观看| 可以免费在线观看av的软件| 国产精品极品美女自在线观看免费| 欧美v亚洲v日韩午夜久久久| 黄av在线免费观看| 欧洲av亚洲av综合| 男人和女人一起插插插的视频| 最新网址 日韩精品| 国产精品综合系列av| 精品久久在线观看视频| 免费在线观看高清视频| 国产精品98在线观看| jvid精品一区二区三区| 亚洲国产精品自产拍在线观看| 人人妻人人澡人人爱精品| 一区二区日韩激情在线观看视频| 91精品免费公开视频| 成人三级视频在线观看一区二区| 日本韩国三级伦理片| 交换人妻2在线观看| 午夜精品久久秘?18免费观看| 国产一级av国片免费| 一区二区三区高清在线播放| 中文字幕亚洲精品乱无码| 青青青青青久免费观看| 欧美成人激情一区二区| 又大又爽又粗又黄少妇毛片| barazza熟女俱乐部| darlacrane熟女俱乐部| 国产精品av亚洲三区| 俩男人日舔一个女人的B视频| 精品日本视频一二三| 天天干天天日天天扣| 成人午夜福利一区二区| 久久中文字幕2015| 这里只有国产精品视频| 让少妇高潮无乱码高清在线观看| 亚洲av大全在线观看| 人人妻人人澡人人爽人人老司机| 一二三区日本亚洲视频| 999精品色在线观看| 午夜精品福利久久一区| 中文字幕一区一二三区四区五区人| 国产黄色免费精品网站| 52gao成人免费视频| 亚洲精品伦理熟女国产一区二区| 中国亚洲免费在线观看| 北条麻妃av在线看| 欧美日韩午夜中文字幕一区| 天天日天天插天天色| 天天干天天夜天天日| 苍井空大战黑人一小时| 精品人妻一区二区乱码| 日日夜夜综合一区二区| av天堂亚洲美女网| 人人妻人人澡人人爽精品日本| 欧美极品少妇高潮喷水| 日韩中文字幕超碰免费电影| 苍井空大战黑人一小时| av在线免费看影视网站| 人妻丝袜中文字幕视频| 91精品人人妻人人做人人爽| 住在隔壁欲求不满的丰满人妻| 草草久性色av综合av专区| 少妇被粗大的猛烈进出动视频| chinesehd一区二区三区| 中国男人的天堂天堂网| 国产精品高清在线免费观看| missav中文字幕| chinese国产高清av| 在线观看成人精品视频自拍| 男人把女人操出白浆视频| 桃色成人国产av在线电影| 中文字幕av熟女系列| 999精品色在线观看| 交换年轻夫妇中文字幕| 中文字幕在线精品视频站| 国产福利资源在线视频| 亚洲熟妇色xxxxx欧美| 又大又爽又粗在床上app| 人人看,人人插,人人射| 自拍亚洲国产精品成人| 七十路の高齢熟妇无码水多多| 特级黄绝片一级黄色片| 亚洲成a人在免费观看| 黑人女人性较视频免费视频| 无码人妻一区二区三巨免费视频| 区一区二视频在线观看| 欧美三个人性极品另类| 最新免费国产电影电视剧在线播放| 不卡av在线免费看| 青青青青手机在线观看视频| 国产美女啪啪啪啪啪啪| 人妻少妇啊灬啊用力快| 天天舔天天日天天干天天操天天射| 久久久久99精品成人免费| 天天色天天爽天天操| 与上司出轨的人妻电影在线| 在线观看自拍视频国产| www日韩精品在线| 52gao成人免费视频| 精品国产乱码久久久久久桃色| 久久久久久久久久高清| va视频 中文字幕| 国产精品福利在线首页| 视频在线亚洲视频在线| 天天热天天操天天干| 男生进入女生身体插插的午夜永久| 成人免费观看完整在线观看| 最新网址 日韩精品| va视频 中文字幕| 精品国产乱码久久久久久桃色| 99久久在线观看视频| 国产精品亚洲中文欧美| 亚洲美女屁股眼交4| 大香蕉www大香蕉| 四虎亚洲中文在线观看| 久久专区亚洲AV桃花岛| 国产91蝌蚪熟女入口熟女| 人妻一区视频在线观看| 天天操天天操天天操天天操夜夜操| 又黄又猛又大又长又硬又久免费| 中文字幕+乱码+中文字幕黄片| 年轻夫妻免费伦理夫妻性生活| 爆乳无修肉动漫在线播放| 午夜精品久久秘?18免费观看| 亚洲永久精品一区二区三区| 精品视频在线观看免费三区| 欧美亚洲国产精品中文字幕| 亚洲综合天堂婷婷六月丁香| 中文字幕日韩人妻在线天堂| barazza熟女俱乐部| 99久久婷婷综合五月| 天天干天天操天天在| 超碰97人人大香蕉| 精品久久在线观看视频| 东北老熟女啪啪嗷嗷叫| 欧美人与兽黄色录像| 新福利视频二区三区| 最新免费国产电影电视剧在线播放| 69精品视频免费看| 久久专区亚洲AV桃花岛| 又黄又猛又大又长又硬又久免费| 最新免费国产电影电视剧在线播放| 中文字幕熟女久久av| av 在线 人妻 中文| 国产综合区久久久久久| 玩弄放荡人妻少妇在线视频| 69国产成人精品电影| 亚洲少妇色小说综合| 亚洲av在线免费播放| 国产精品成人有码在线观看| 我想看大鸡吧操女人的小湿逼| 日本直接看不卡的视频在线| 91小视频在线免费看| 国产在线播放中文字幕| 青娱乐在线分类视频| 91九色麻豆人妻蝌蚪| 国产富婆做全套视频高潮| 国产麻豆精品在线观看免费| 91精品一区国产在线| 亚洲国产成人久久笫一页| av天堂中文在线是吧| 人妻中文字幕一区二区三| 激情视频 人妻 少妇| 人妻之和服诱惑在线| 亚洲人成电影网站 久久影视| 免费看瑟瑟视频的软件| 亚洲高清资源在线观看| 大型黄色av网站在线播放| 俩男人日舔一个女人的B视频| 成人福利 在线观看| 亚洲va日韩va欧美va| 成人动漫精品一区三区| 中文字幕 日韩精品 在线| 成年人亚洲黄色av天堂| 青青草手机免费在线观看高清视频 | 青春草97在线视频| 久久99亚洲一区二区| 欧美丰满熟妇bbbbbb| 新久草超碰在线免费| 超碰在线免费97观看| 中文字幕欧美日韩熟女| 97国内视频在线观看| 男人天堂社区一区二区| 国产,av,中文字幕| 亚洲乱熟女一区二区三区影片| 超碰在线夫妻自拍51| 青青草国产av电影| 啪啪啪在线视频免费观看| 国产成人精品午夜福利在线观看 | 全国男人最大的天堂网| 亚洲欧洲在线观看av| av日本女优在线观看| 女人18免费av毛片| 一区二区日韩激情在线观看视频| 亚洲一区高清资源在线| 91成人精品在线一区二区三区| 亚洲国产精品自产拍在线观看| 欧美高清视频一二三区| 美女露出胸阴道让男人捅| japan女同女女日韩| 卡一卡二卡三国产精品| 国产九色自拍美女大胸视频 | 老熟妇一区二区三区四区| 青青草小视频在线播放| 一区二区精品av在线| 视频在线免费观看一区| 亚洲二区三区视频在线观看| 国内精品自在自线视频香蕉| 真实亲子乱子伦纪实| 日本一级特黄aaaaa片口| 青青草原av免费在线观看| 国产一级片久久免费看同| chinese熟女高潮喷水| 瑟瑟鲁视频在线观看| 男人机巴插进女人逼视频| 成人黄色一级av大片在线观看 | 好吊视频一区二区三区在线 | 亚洲一区二区三区青椒| 精品视频久久久精品| 日韩久久久久中文字幕| 大香蕉www大香蕉| 91九色ts另类国产人妖| 洲色熟女图激情另类图区| 亚洲国产综合久久精品| 另类专区 欧美专区| 特级黄绝片一级黄色片| 激情综合五月天一区二区| 99精品丰满人妻一区二区| 在线观看69式视频| 在线看的免费网站黄页| 日本丰满肉感bbw| 性狠狠18禁久久久| 免费av 自拍偷拍| 精品一区二区三区四区99 | 黄页网站大全在线看免费视频| 东京热加勒比欧美日韩| 88久久免费中文字幕| 久久精品成人免费国产片小草| 久久久亚洲国产天美传媒修理工| 人人妻人人澡人人爽人人在线观看| av优选精品在线观看| 超碰91在线资源站| 亚洲精选中文字幕一区| 天码av高清毛片在线看| 日本aⅴ爽av久久久久久| 国产精品极品美女自在线观看免费| 精品一区精品二区免费| 新久草超碰在线免费| 日本黄色十八禁视频播放器| 亚洲精品综合激情久久| 清纯唯美激情自拍偷拍少妇| 人人操人人爽人人狠狠| av老熟妇在线播放网| free美女女同性| 精品国产乱码久久久久久桃色| 亚洲视频在线观看精品视频| freesex高清日本| 久久中文字幕2015| 久久久久久久久久高清| 国产精品极品美女自在线观看免费| 日韩精品成人影院在线观看| 9l熟女自拍蝌蚪9l| 成人免费观看完整在线观看| 人人妻人人澡人人爽人人老司机| 怡红院精彩视频在线观看| 欧美性猛交XXXXX按摩欧美 | 人妻精品这里只有精品| 中文字幕 人妻 一区 | 91亚洲国产亚洲国产亚洲| 强奷漂亮少妇高潮在线观看| 免费欧美人妻视频在线| 人妻丝袜中文字幕视频| 伊人99国产在线播放| darlacrane熟女俱乐部| 伊人久久大香线蕉av综合| 天天操天天操天天操天天操夜夜操| 老鸭窝精品视频在线| 天天射天天干天天透综合网| 东京热heyzo一区| 天天躁日日躁狠狠躁欧美av| 97韩剧在线观看免费| 九色成人精品自拍视频| 好吊视频一区2区3区| 欧美国产亚洲欧美国产| 成人三级视频在线观看一区二区| 欧洲熟妇女久久久久久久 | 欧美伦理在线一区二区三区| 大鸡巴用力插麻豆视频| 日韩精品中文字幕美女| 在线看的免费网站黄页| 黄色av资源在线观看| 国产一级片久久免费看同| 伊人99国产在线播放| 国产午夜精品免费视频| 国产精品高清在线免费观看| 精品久久在线观看视频| 99久久免热在线观看| 激情综合五月天一区二区| 亚洲,欧美,一区二区三区| 大型黄色av网站在线播放| 最近日本MV字幕免费高清在线| 精品一区尤物视频蜜桃| 久久精品天堂一区二区| 中文字幕14自拍偷拍2019| 青青青青手机在线观看视频| 亚洲一区精品视频在线播放| 亚洲日产精品一二三| 亚洲第一福利视频在线| 91色婷婷在线视频免费观看| 91精品国综合久久久蜜臀九色| 性狠狠18禁久久久| 99久久国家一区二区三区| 福利视频免费在线播放| 特级黄色搞逼的亚洲的| 欧美一级 欧美三级| 99免费在线精品视频| 欧美高清视频一二三区| 青草视频在线观看观看大全| 91精品一区国产在线| 亚洲国产一区二区精品古代| 变态调教一区二区三区男同| 中文字幕一区一二三区四区五区人| 国产老妇一区二区三区熟女| 熟妇激情内射com| 看欧美日韩黄色小视频| 日本不卡一区二区三区高清视频| 欧美成人在线视频365天资源站| 变态调教一区二区三区男同| 精品一区精品二区免费| 激情综合五月天一区二区| 在线观看日韩完整版高清| 大胆少妇高潮毛片免费看| 成人国产综合视频在线观看一区| 日本性生活视频免费观看| 日本福利网址导航大全| 日本直接看不卡的视频在线 | 男人操美女的小骚逼| 亚洲伊人色综合网站| 免费在线播放不卡av| 91亚洲国产亚洲国产亚洲| 精品视频在线观看免费三区| 日日操夜夜爽天天干| a√最新在线一区二区三区亚洲| 日韩色系视频免费观看| 少妇高潮区二区三区| 青青e热线视频国产免费6| 嗯嗯嗯嗯啊啊啊啊啊在线观看| 第四色在线视频网站| 国产又大又长又粗又硬又 | 午夜在线成人免费视频| 91精品国产自产在线观看,| 99re在线免费播放| 女孩要大鸡巴干免费短视频| 国产一级片久久免费看同 | 2019av中文字幕| 久久专区亚洲AV桃花岛| 公开免费在线视频播放| 色哟哟AV无码国产永久播放| 怡红院精彩视频在线观看| 国产精品女人精品久久久天天| 一区二区精品av在线| 大型黄色av网站在线播放| 久久久久久av电影av| 天天躁日日躁狠狠躁欧美av| 高颜值九色自拍视频网站| 亚洲不卡av一区二区三区| 出轨的女人操逼视频免费看| 欧美顶级aaaaaa| 日韩av综合中文字幕| 久久精品成人免费国产片小草| 好大好硬好深好爽动态图| 日韩久久久久中文字幕| 亚洲尺码和欧洲尺码av| 亚洲国产日韩欧美一区二区三区,| 2020最新国产精品| 天天热天天操天天干| 女人把腿张开让男人捅在线看| 2021国产精品视频| 7久久久久久久久久久久久| 大香伊一本线中文字幕| 成人免费观看完整在线观看| 女子裸体免费视频网站| 91精品国产自产在线观看,| 天天草天天干天天插|