日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UITabBar,UINavigationBar的布局和隐藏问题

發布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UITabBar,UINavigationBar的布局和隐藏问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

UITabBar,UINavigationBar非常的好用,但是畢竟是系統自帶的,不受自己完全掌握,對于布局和隱藏會有一些問題,現在就來談談我的想法和一些問題。

2. view,UITabBar,UINavigationBar之間的關系

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

1. 如果是在storyboard下,通過segue的連線實現跳轉,那么navigationBar會自動出現在屏幕里,很好做自動布局。

2. 如果通過代碼或者別的不連線的方式實現跳轉,那么需要注意的就是做自動布局時,如果設定和view的上下邊界距離,等到運行時,實際上是和navigationBar和tabBar的上下邊界距離。

3. 整個view的高度是固定的,只和手機的型號有關。如果沒有navigationBar和tabBar, 那么中間的內容高度就會相應地增加。

?

3. UITabBar的隱藏問題

我想很多人都遇到過UITabBar的隱藏問題,最容易的方法一般是下面兩種

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;

這兩種方法我都試了,確實能夠隱藏tabBar,大部分情況下都沒問題。

不過我遇到了一個比較奇葩的隱藏問題,就是tabBar會有留白。追本溯源,這就和前面view和tabBar的關系有關了。

我的問題:

tabBar高度49px,頁面跳轉到一個聊天頁面,最下面的聊天框也是49px。

聊天框上面就是UITableView實現的聊天界面,設定UITableView到View的bottom間距為49px。

但是實際運行時,系統會認為是UITableView到TabBar的間距為49px,這就會出現下面的問題:

? ? ? ? ? ? ? ? ? ? ? ? ?

即使設定了UITabBar隱藏,但是系統運行時還是會出現留白,不過一閃而過就沒了。如果設定到view的bottom間距為0px,留白沒有了,但是聊天框占據了49px,聊天的最后一行拉不到,很奇葩的問題。

原因:我的感覺就是即使UITabBar隱藏了,系統到運行的時候,聊天頁面都viewDidAppear時,還是認為49px的間距是到已經隱藏的UITabBar上的。

?

4. 解決方法

最后的解決方法是,設置間距為0px,等到viewDidAppear時設置間距為49px

-(void)viewDidAppear:(BOOL)animated {[super viewDidAppear:YES];self.bottomSpace.constant = 49; //解決了留白問題 }

轉載于:https://www.cnblogs.com/chenliyang/p/6554375.html

總結

以上是生活随笔為你收集整理的UITabBar,UINavigationBar的布局和隐藏问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。