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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、對UITabBar背景和icon圖標的一些設置

(1)因為直接給UITabBar設置的背景顏色顯示的不純,半透明的感覺,所以,有時候我們可以直接利用純色的圖片作為背景達到想要的效果;

(2)給icon圖片改變顏色也是重要的實用方法之一,默認的時藍色。

在AppDelegate.m文件中:(1個導航控制器和5個視圖控制器)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //創建5個視圖控制器和1個導航控制器 ViewController1 *vc1=[[ViewController1 alloc]init]; UINavigationController *nav1=[[UINavigationController alloc]initWithRootViewController:vc1]; ViewController2 *vc2=[[ViewController2 alloc]init]; ViewController3 *vc3=[[ViewController3 alloc]init]; ViewController4 *vc4=[[ViewController4 alloc]init]; ViewController5 *vc5=[[ViewController5 alloc]init]; ViewController *vc6=[[ViewController alloc]init]; //6個標題 nav1.title=@"界面1"; vc2.title=@"界面2"; vc3.title=@"界面3"; vc4.title=@"界面4"; vc5.title=@"界面5"; vc6.title=@"界面6"; //6個系統icon圖標 [nav1.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemTopRated tag:1]; [vc2.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemSearch tag:2]; [vc3.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemContacts tag:3]; [vc4.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemMostViewed tag:4]; [vc5.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemMostRecent tag:5]; [vc6.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:6]; //創建一個視圖控制器數組,并把它賦值給標簽欄控制器的viewControllers值 NSArray *arr1=[[NSArray alloc]initWithObjects:nav1,vc2,vc3,vc4,vc5,vc6, nil]; UITabBarController *tbCon1=[[UITabBarController alloc]init]; tbCon1.viewControllers=arr1; //標簽欄控制器有個tabBar屬性,這個屬性有兩個items和selectedItem屬性是不能用的,因為這兩個屬性是歸標簽欄控制器直接管理,其他人不能對其賦值 //運行以下兩行代碼,程序會崩潰 //tbCon1.tabBar.items=[[NSArray alloc]initWithObjects:vc1.tabBarItem, nil]; //tbCon1.tabBar.selectedItem=vc1.tabBarItem; //通過backgroundColor可以設置標簽欄顏色,但是是一層淡淡的紅色 tbCon1.tabBar.backgroundColor=[UIColor redColor]; //可以通過設置背景圖片的方式給標簽欄設置背景顏色,比如紅色的背景圖片,要求圖片大小要正好 //用以下方式獲得標簽欄寬高后,創建一個背景圖片,再引入進來 NSLog(@"%i,%i",(int)tbCon1.tabBar.frame.size.height,(int)tbCon1.tabBar.frame.size.width); tbCon1.tabBar.backgroundImage=[UIImage imageNamed:@"tabBarbg.png"]; //通過tintColor可以給icon圖標設置顏色 tbCon1.tabBar.tintColor=[UIColor redColor]; //設置被選中標簽的背景圖片,寬度是375/5=77 tbCon1.tabBar.selectionIndicatorImage=[UIImage imageNamed:@"selectionDic.png"]; //把這個標簽欄控制器當做window的根視圖控制器來顯示 self.window.rootViewController=tbCon1; // Override point for customization after application launch. return YES; } 二、隱藏UITabBar的第一種方式

這一種方式需要用導航控制器視圖來做實驗,因為我們需要用hidesBottomBarWhenPushed屬性,這個屬性的意思是,當這個視圖被壓到棧中時(導航控制器的棧),隱藏底部的bar,包括UITabBar。

所以我們以上面的nav1做實驗,nav1的根視圖控制器是vc1,我們在vc1中增加一個按鈕,一點擊就到ViewController7.m中(實例是vc7),并隱藏UITabBar。

在vc1中:

#import "ViewController1.h" #import "ViewController7.h"@interface ViewController1 ()@end @implementation ViewController1 - (void)viewDidLoad { // UIButton *btn1=[UIButton buttonWithType:UIButtonTypeRoundedRect]; btn1.frame=CGRectMake(38, 80, 300, 30); btn1.backgroundColor=[UIColor whiteColor]; [btn1 setTitle:@"PUSH" forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(jumpTo) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn1]; [super viewDidLoad]; // Do any additional setup after loading the view. } -(void)jumpTo{ ViewController7 *vc7=[[ViewController7 alloc]init]; [self.navigationController pushViewController:vc7 animated:NO]; } @end

在ViewController7.m中:

#import "ViewController7.h"@interface ViewController7 ()@end@implementation ViewController7 //增加一個initWithNibName方法,標配是return self。此外還需要在初始化時就設置它的hidesBottomBarWhenPushed屬性為YES才能生效 //即,在視圖控制器的實例被加載到棧之前,就需要設置這個屬性,否則無效 -(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self.hidesBottomBarWhenPushed=YES; return self; } @end 三、隱藏UITabBar的第二種方式

就是把UITabBar的位置移動,即調整frame.origin.y的值。消失就是把它移出屏幕,出現就是把它再放回原地。(但,還原時又卡頓現象,體驗很差,不建議)

所以,在ViewController7.m中:

//增加一個試圖即將出現時的方法,并在此設置把tabBar下移,移除整個屏幕,相當于消失了 -(void)viewDidAppear:(BOOL)animated{ NSArray *arr1=self.tabBarController.view.subviews; UIView *view1=[arr1 objectAtIndex:0]; UITabBar *tabBarView1=[arr1 objectAtIndex:1]; //第一個視圖就是全屏,不需要把高度撐滿,所以可以不做任何設置 //view1.frame=CGRectMake(0, 0, 375, 667); tabBarView1.frame=CGRectMake(0, 667, 375, 49); }

在ViewController1.m中:

//增加一個viewDidAppear,把下移的tabBar再上移,相當于還原到原地 -(void)viewDidAppear:(BOOL)animated{NSArray *arr2=self.tabBarController.view.subviews;UITabBar *tabBarView2=[arr2 objectAtIndex:1];tabBarView2.frame=CGRectMake(0, 618, 375, 49); }

截個圖:

總結

以上是生活随笔為你收集整理的UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 熟妇人妻中文字幕无码老熟妇 | 精彩毛片 | 日韩插插 | 六月婷婷色 | 污片免费看 | 日韩一区二区影院 | 女儿的朋友5中汉字晋通话 欧美成人免费高清视频 | 蜜桃av网站 | 懂色aⅴ国产一区二区三区 亚洲欧美国产另类 | 日日摸日日添日日碰9学生露脸 | 91香蕉嫩草 | 日韩国产毛片 | 亚洲精品视频在线观看免费视频 | 亚洲综合图片网 | 国产又粗又猛又爽又黄视频 | 美女久久久久 | 亚洲播播 | 欧美三级网 | 日韩视频网站在线观看 | www.日 | 99热免费| 香蕉久久精品 | 亚洲AV无码久久精品色三人行 | 国产激情自拍 | 蜜桃精品视频在线观看 | 亚洲hhh| 91激情视频在线观看 | 日韩在线播放中文字幕 | 久久久久久98| 村上凉子av | 日韩在线不卡av | 日本人妻伦在线中文字幕 | 三级网站在线免费观看 | 日韩视频在线免费播放 | 无码国内精品人妻少妇蜜桃视频 | 手机在线看永久av片免费 | 日韩国产欧美 | 越南黄色一级片 | 亚洲精品久久久久久一区二区 | 国产精品www.| 国产亚洲视频在线观看 | 亚洲成年 | 午夜精品久久久久久久91蜜桃 | 国产精品理论片 | 狠狠爱网站 | 日韩精品无码一区二区三区久久久 | 精品国产aⅴ | 亚洲中文字幕在线一区 | 亚洲第一福利视频 | 亚洲v在线| 性猛交ⅹxxx富婆视频 | 国产精久久一区二区三区 | 国产一区二区在线视频 | 毛片视频免费观看 | 涩涩屋视频在线观看 | 免费国产91| 人妻视频一区二区 | 亚洲影院在线 | 久久观看最新视频 | 新97超碰 | 欧美日韩国产在线 | 国产精品国产三级国产传播 | xxxxx色| www.国产在线视频 | 91成人在线视频 | 亚洲自拍小视频 | 黄色一级片a | 91猎奇在线观看 | 亚洲国产精品成人午夜在线观看 | 午夜视频在线观看一区二区 | 电影《两个尼姑》免费播放 | 九九热综合 | 日本乱偷人妻中文字幕在线 | 色爱综合网 | 亚洲综合色视频 | 中文字幕第一页亚洲 | www.jizzjizz.com| 九月丁香婷婷 | 国产精品黄 | 超碰在线人| 狐狸视频污 | 美梦视频大全在线观看高清 | 欧美小视频在线 | 亚洲AV成人午夜无码精品久久 | 亚洲一区二区三区高清 | 亚洲av成人一区二区 | 香蕉视频污视频 | 精品国产黄 | 天天操夜操 | 国产精品123 | 风间由美一区二区三区 | 久久久久免费视频 | 小伸进喷水网站 | 亲切的金子片段 | 免费看美女被靠到爽的视频 | 蜜桃视频在线观看一区 | 欧美精品卡一卡二 | 亚洲无线看| 韩国特级毛片 |