對(duì)Xcode8的一些想法(個(gè)人理解)

昨天同學(xué)幫我解決了一個(gè)技術(shù)問題,該問題是,如果在登錄狀況下就顯示根控制器為歡迎界面,動(dòng)畫效果為圖片由下往上移動(dòng),沒有添加任何轉(zhuǎn)場動(dòng)畫,但事實(shí)上圖片是側(cè)滑上去的,這個(gè)BUG我想了很久,但是解決方法非常簡單:

因?yàn)閤ib設(shè)置的圖片剛開始并沒有固定的尺寸,viewdidload方法里無法準(zhǔn)確獲得控件的尺寸導(dǎo)致的,可以考慮在視圖的生命周期中的"viewwillappear"或者"viewdidappear"里調(diào)試。

這確實(shí)是一種編程思維,回想起來,用xcode8編譯的時(shí)候,像這樣子的事情,確實(shí)發(fā)生了不少,很多控件剛開始進(jìn)入的時(shí)候就特別大,也是因?yàn)閤ib導(dǎo)致的,讓我不得不思考一種編程思想,是xcode早期的編程思維

一種常見的開發(fā)思路:

1.在viewDidLoad方法中添加初始化子控件

2.在viewDidLayoutSubviews方法中布局子控件

另一種常見思路:

1.控件懶加載

2.在viewDidLayoutSubviews方法中布局子控件


作為一些細(xì)節(jié)處理,雖然我不懂什么“MMVM“的思想,但是為了控件一定有值,而且按照自己的規(guī)律來行走來說,這兩步驟,學(xué)會(huì)其中之一,對(duì)于xcode8而言,非常重要,特別是用xib布局的時(shí)候。因?yàn)橛袝r(shí)候控件常常沒有尺寸,或者干脆就是nil的時(shí)候面對(duì)復(fù)雜多變的需求有必要注意這些細(xì)節(jié)多想一想以下方法:

1.視圖生命周期

2.控制器的viewDidLayoutSubviews方法

3.view的layoutsubviews方法

4.是否hidden,是否alpha為0?

5.是否沒有加載到控件?

6.是構(gòu)造(init)方法加載還是aweakfromnib方法加載?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,875評(píng)論 0 12
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,189評(píng)論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,429評(píng)論 4 61
  • 白花蛇舌草 別名:蛇舌草、蛇舌癀、蛇針草、蛇總管、二葉葎、白花十字草、尖刀草、甲猛草、龍舌草、蛇脷草、鶴舌草 采收...
    本草園丁閱讀 3,897評(píng)論 0 4
  • 我一個(gè)本家兄弟,其自幼癡迷音律,傳承家學(xué)和父親學(xué)習(xí)琵琶,他因?yàn)樘熨Y聰穎稟賦過人,年少有名,后進(jìn)入后進(jìn)入專業(yè)音樂院校...
    琴癡1102閱讀 580評(píng)論 0 1

友情鏈接更多精彩內(nèi)容