第三方登錄模塊
這樣我們的登錄界面大致就完成了庸追。下面還有一個第三方登錄模塊朱盐。首先是“使用第三方賬號登錄”的標簽购桑。這是一個Label畅铭,直接從控件庫里拖出來,然后修改一下內容勃蜘,顏色硕噩,調整字體,接下來添加兩個約束就行了缭贡。一個是屏幕內水平方向居中炉擅,另一個是距離上面的登錄按鈕40。寬度和高度會根據(jù)內容自己判斷阳惹,不需要添加谍失。
在上圖中的第4步中的修改字體,當我們點擊Font輸入框中的灰色箭頭后會出現(xiàn)一個Popup莹汤,里面的第一個下拉框是Font 快鱼,當我們點擊展開時,就能看到很多選項了体啰,默認選擇的是system攒巍。
用過iOS系統(tǒng)的人都知道,在系統(tǒng)設置里面可以修改字體的大小荒勇,有些人會將字體都調大柒莉,但很多第三方的App的并不支持這一功能。如果你看過 iOS Human Interface Guidelines的話沽翔,你可能會注意到里面有一章講到過 Dynamic Type兢孝。iOS 已經設置一部分字體樣式窿凤,如果你使用的是這些系統(tǒng)樣式,那么在設置里調大字體后跨蟹,你的App里的字體也能變大雳殊。這樣的功能對于我們來說可能用處不大,但是對我們父母來說還是很貼心的窗轩。
而這里的Text Styles 正是蘋果提供的字體樣式夯秃。具體的樣式對應的字號,以及隨著系統(tǒng)設置的變化痢艺,各個字體怎么變化仓洼,都能查到,我在這里截了一個在默認狀態(tài)下的字體大小堤舒。詳情點擊這里:https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/
再講一些關于標簽(Label)的問題色建,一個是我在“添加Label”這個圖上用紅色框框起來的AutoShrink(自動縮放)。通常我們都會遇到這樣的情況:標簽的內容特別多顯示不下時舌缤,多出來的內容都會被自動截掉箕戳,用省略號代替,有時候省略掉的甚至是比較重要的信息国撵。而這個AutoShirnk就是來解決這個問題的陵吸,你可以設置一個最小字號或者一個最小縮放比例。當頁面變化而導致內容顯示不下時卸留,你的標簽的字號首先會自動縮小走越,直到縮小到你規(guī)定的最小值時才會將多出的內容省略掉。
另一種方式是多行顯示耻瑟,同樣在“添加Label”這個圖上用紅色框框起來的Lines輸入框旨指,默認的是1,就代表只顯示一行喳整,你可以在這里設置顯示的行數(shù)谆构,如果你將它改為0,則代表顯示多行框都。
Tips:在設計iOS軟件時應優(yōu)先考慮使用Dynamic Type搬素,在設計Label時(幾乎每個App 都會用到),應該考慮各種極限情況魏保,并給出相應適配策略熬尺。如當文字顯示不下時是讓文字縮小還是省略掉多出來的內容。
回來繼續(xù)說下面三個第三方登錄按鈕谓罗。我的要求是他們之間的間隙隨著屏幕的寬度變化而變化粱哼。屏幕寬度越小它們之間靠的就越近,反之則分的越開檩咱。想要達到這樣的效果揭措,我們可以先將他們編一個組胯舷,讓這個組的寬度隨著屏幕變化而變化。
首先我們先拖出一個UIView绊含,這是一個最基礎的視圖桑嘶,將它當做放按鈕的容器,也就是上面說的組(這里其實可以用Stack View 作為這個容器躬充,使用起來更簡單逃顶,我在下篇會詳細介紹Stack View )。
按照上圖的要求添加好約束后麻裳,我們會發(fā)現(xiàn)一個問題口蝠,因為選擇的是Equal Widths 器钟,導致這個組的寬度是和屏幕是一樣寬的津坑,這顯然不是我們要的效果。雙擊這個等寬的約束后傲霸,我們能看到我在上一篇里講過的Multiplier了疆瑰,只需要修改這個約束的Multipier,將它改為0.6昙啄,這樣穆役,這個組的寬度就一直是屏幕寬度的60%了。
接下來我們只要將三個按鈕固定在這個組里的最左邊梳凛,中間耿币,最右邊就行了。這樣就能到達我們要的效果了韧拒。
添加完成后UpdateFrame淹接,就能看到下圖的效果了。最后我們只要將這個作為容器的View 的背景改為透明就行了叛溢。
這樣塑悼,我們的登錄界面就完成了,現(xiàn)在這個頁面就能根據(jù)我們的要求適配各個屏幕尺寸了楷掉。我們可以選擇不同的模擬器厢蒜,查看它在不同設備上的運行效果,無論橫屏和豎屏它都能跟著調整烹植。需要注意一下的是在橫屏情況下可能會有一部分界面超出屏幕范圍斑鸦,本來所有元素都應該放在一個ScrollView里,這樣超出屏幕的部分就能向上滑動了草雕,這里為了方便演示并沒有加巷屿。
下面就是它不同設備上的運行效果。
可以看到促绵,它不僅支持iPhone攒庵,還支持iPad嘴纺,而且橫屏豎屏都行,應對iPad的多任務顯示也不在話下浓冒。很多人覺得如果要支持iPad 就需要重新開發(fā)一個App栽渴。實際上在本文的開頭,你在創(chuàng)建項目的時候會讓你選擇支持的設備稳懒,默認的是Univerasl(全平臺)闲擦,也就是說你要是適配得好,一個安裝包就能同時支持iPhone 和 iPad场梆,而不需重新開發(fā)墅冷。
好了,這篇就講到這里或油,下一篇我會介紹一下Stack View 以及更多AutoLayout 的相關知識和實際應用寞忿。
本文作者:董浩龍(點融黑幫),來自點融設計中心(DDC)顶岸,是一名交互設計師腔彰,現(xiàn)在主要在做動效和原型,有空會學習一下代碼辖佣,了解頁面實現(xiàn)的原理霹抛。