練習:模仿APP畫面+AutoLayout
首先
參考彼得潘「如何模仿製作現成的 iOS App 畫面文章」,
|第一個遇到的問題:下載sketch檔案打開後跑版
其實彼得潘文章裡已經有說要下載安裝SFUI...的字型,但是我安裝完還是一直跑版,裝了三種版本都不行,最後發現是名稱的問題,如果缺少的字型名稱是abc-Text,但安裝的字型名稱是「abcText」,系統就無法辨識,所以會一直出現錯誤訊息,最後只能手動把缺少字型指定到新安裝的字型。
|第二個遇到的問題:模擬器鬼遮眼
我下載的sketch檔案適用iphone8尺寸,但是很詭異的是模擬器iphone8+可以正常跑畫面,iphone8怎麼樣都是無畫面,重跑很多次都一樣,最後是把xcode和模擬器都關閉重開才解決。
進入正題,這次練習主要抄襲別人的APP畫面,順便練習AutoLayout
我東看西看,好像計算機最簡單(超懶的媽媽👀)
第一步:把底圖抄一抄
基本上就是用Label導圓角+改底色
第二步:填上字
(好像有那麼回事了喔?😗)記得~~要用客製化字型需要把字型檔拉近專案中並且做好連結喔(詳情參考彼得潘文章)
第三步:畫圖(加上圖案)
上面的圖案有些空白對吧?因為是綜合圖案要另外自己畫的(蛤?自己畫,那下載sketch做什麼😜)但下載sketch檔案中的圖案如何匯入xcode就又要參考彼得潘文章囉
第四步:加上AutoLayout的條件
重頭戲來了!
一般來說,螢幕尺寸變大,可以顯示更多東西(所以元件尺寸應該維持)
但計算機這東西,沒有更多東西顯示啊,所以應該是元件尺寸會變大,也就是說,設定條件中是不能包括元件尺寸
錯誤的第一次~
我想起stack view可以快速處理autolayout, 很興奮地把元件們選起來然後加入stack view
然後就出現悲劇
看來此路不通,沒關係再試試另一條路
這次我嘗試把符號們加入stack view
又是悲劇!
好不容易嘗試到可以跑出正常畫面,卻發現尺寸調整後畫面就消失了
怎麼改都沒用只好呼救彼得潘大人,彼得光看無解,要我寄檔案給他
人太好燃起我的意志力(非不得已不要麻煩人啊)
原本我每個按鈕背景是用Label做的,後來改成view就可以在不同螢幕尺寸上正常顯示
好了,以為雨過天晴,結果發現圓角在螢幕放大後無法跟隨放大
解方:請參考彼得潘的「AutoLayout 的元件何時導圓角」
經過無數個杯具,最後作弊似乎成功了
何謂作弊呢?
因為view並不是正方形,如果圓角使用midX,那按鍵「0」的圓角會變形,按鍵「0」要用midY看起來才正常
所以要有兩種圓角方式喔