今天看到有人在群里問到給導航欄設置背景圖片后,子視圖的布局都是從導航欄的底部開始布局,但是當我親身測試的時候,卻沒有發(fā)現(xiàn)這個問題,還是從0點開始布局,我就問了當時我出現(xiàn)問題的同學,他說他是用純代碼寫的,我改用純代碼后發(fā)現(xiàn)是那位同學描述的那樣從導航欄的底部開始布局,但是為什么storyboard不是這樣啦.最后我打開有storyboard的工程查找原因最終我找到了這樣一個東西:
storyboard中的屬性設置
默認是勾選的,先看一下勾選的效果.
默認勾選效果
再看去掉勾選的效果
去掉勾選的效果
剛才我們?nèi)サ艄催x的屬性是對應純代碼中的edgesForExtendedLayout這個屬性,sb是默認勾選的所以會發(fā)生從0點開始布局,當我們?nèi)サ艄催x就正常了.
純代碼可以修改這個屬性來影響布局.
好了問題也搞清楚了.就不多說了.
設置導航欄透明:
[self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBarsetShadowImage:[UIImagenew]];
如果喜歡小編,可以點擊關注,我會不定期的更新一些文章,也可以關注我的專題
本人聯(lián)系方式:qq:513961360
email:513961360@qq.com
也可以加我們的qq群希望能與朋友們一起聊天和學習.群里還有很多iOS開發(fā)者,幫助我們解決問題,并且同時學習.
qq群號:580284575