UITabBar,UINavigationBar的布局和隐藏问题
1. 前言
UITabBar,UINavigationBar非常的好用,但是畢竟是系統(tǒng)自帶的,不受自己完全掌握,對(duì)于布局和隱藏會(huì)有一些問(wèn)題,現(xiàn)在就來(lái)談?wù)勎业南敕ê鸵恍﹩?wèn)題。
2. view,UITabBar,UINavigationBar之間的關(guān)系
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1. 如果是在storyboard下,通過(guò)segue的連線實(shí)現(xiàn)跳轉(zhuǎn),那么navigationBar會(huì)自動(dòng)出現(xiàn)在屏幕里,很好做自動(dòng)布局。
2. 如果通過(guò)代碼或者別的不連線的方式實(shí)現(xiàn)跳轉(zhuǎn),那么需要注意的就是做自動(dòng)布局時(shí),如果設(shè)定和view的上下邊界距離,等到運(yùn)行時(shí),實(shí)際上是和navigationBar和tabBar的上下邊界距離。
3. 整個(gè)view的高度是固定的,只和手機(jī)的型號(hào)有關(guān)。如果沒(méi)有navigationBar和tabBar, 那么中間的內(nèi)容高度就會(huì)相應(yīng)地增加。
?
3. UITabBar的隱藏問(wèn)題
我想很多人都遇到過(guò)UITabBar的隱藏問(wèn)題,最容易的方法一般是下面兩種
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@""]; [vc setHidesBottomBarWhenPushed:YES]; //隱藏tabbar [self.navigationController pushViewController:vc animated:YES]; self.hidesBottomBarWhenPushed = YES; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@""]; [self.navigationController pushViewController:vc animated:YES]; self.hidesBottomBarWhenPushed = NO;這兩種方法我都試了,確實(shí)能夠隱藏tabBar,大部分情況下都沒(méi)問(wèn)題。
不過(guò)我遇到了一個(gè)比較奇葩的隱藏問(wèn)題,就是tabBar會(huì)有留白。追本溯源,這就和前面view和tabBar的關(guān)系有關(guān)了。
我的問(wèn)題:
tabBar高度49px,頁(yè)面跳轉(zhuǎn)到一個(gè)聊天頁(yè)面,最下面的聊天框也是49px。
聊天框上面就是UITableView實(shí)現(xiàn)的聊天界面,設(shè)定UITableView到View的bottom間距為49px。
但是實(shí)際運(yùn)行時(shí),系統(tǒng)會(huì)認(rèn)為是UITableView到TabBar的間距為49px,這就會(huì)出現(xiàn)下面的問(wèn)題:
? ? ? ? ? ? ? ? ? ? ? ? ?
即使設(shè)定了UITabBar隱藏,但是系統(tǒng)運(yùn)行時(shí)還是會(huì)出現(xiàn)留白,不過(guò)一閃而過(guò)就沒(méi)了。如果設(shè)定到view的bottom間距為0px,留白沒(méi)有了,但是聊天框占據(jù)了49px,聊天的最后一行拉不到,很奇葩的問(wèn)題。
原因:我的感覺(jué)就是即使UITabBar隱藏了,系統(tǒng)到運(yùn)行的時(shí)候,聊天頁(yè)面都viewDidAppear時(shí),還是認(rèn)為49px的間距是到已經(jīng)隱藏的UITabBar上的。
?
4. 解決方法
最后的解決方法是,設(shè)置間距為0px,等到viewDidAppear時(shí)設(shè)置間距為49px
-(void)viewDidAppear:(BOOL)animated {[super viewDidAppear:YES];self.bottomSpace.constant = 49; //解決了留白問(wèn)題 }轉(zhuǎn)載于:https://www.cnblogs.com/chenliyang/p/6554375.html
總結(jié)
以上是生活随笔為你收集整理的UITabBar,UINavigationBar的布局和隐藏问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: easyui使用时出现这个Uncaugh
- 下一篇: POJ 1017 Packets【贪心】