亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

IOS之UITabBarController

2019-11-14 18:08:27
字體:
來源:轉載
供稿:網友

  在學習IOS開發過程中,針對于UITabBarController的使用也不少出現,UITabBarController和UINavigationController類似,UITabBarController也可以輕松地管理多個控制器,輕松完成控制器之間的切換

  使用步驟:

1初始化UITabBarController

2設置UIWindow的rootViewController為UITabBarController

3創建相應的子控制器(viewcontroller)

4把子控制器添加到UITabBarController

  代碼如下

//初始化視圖控制器    UIViewController * vc1=[[UIViewController alloc] init];    vc1.view.backgroundColor=[UIColor redColor];          UIViewController * vc2=[[UIViewController alloc] init];    vc2.view.backgroundColor=[UIColor greenColor];            UIViewController * vc3=[[UIViewController alloc] init];    vc3.view.backgroundColor=[UIColor yellowColor];        UIViewController * vc4=[[UIViewController alloc] init];    vc4.view.backgroundColor=[UIColor orangeColor];        UIViewController * vc5=[[UIViewController alloc] init];    vc5.view.backgroundColor=[UIColor purpleColor];           //為tabbarController添加控制器    UITabBarController * tabVC=[[UITabBarController alloc] init];    tabVC.delegate=self;    tabVC.viewControllers=@[vc1,vc2,vc3,vc4,vc5 ];            //初始化系統UITabBarItem    UITabBarItem * item1=[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:101];    vc1.tabBarItem=item1;        UITabBarItem * item2=[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:102];    vc2.tabBarItem=item2;      //初始化帶圖片的UITabBarItem    UIImage * selImage=[UIImage imageNamed:@"tabbar_cate_f"];    selImage=[selImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    UITabBarItem * item3=[[UITabBarItem alloc] initWithTitle:@"最近" image:[UIImage imageNamed:@"tabbar_cate"] selectedImage:selImage];    NSDictionary * dic=@{NSFontAttributeName:[UIFont systemFontOfSize:20],NSForegroundColorAttributeName:[UIColor redColor]};    [item3 setTitleTextAttributes:dic forState:UIControlStateSelected];    vc3.tabBarItem=item3;        //初始化帶圖片的UITabBarItem    UITabBarItem * item4=[[UITabBarItem alloc] initWithTitle:@"你好" image:[UIImage imageNamed:@"tabbar_fov"] tag:104];    vc4.tabBarItem=item4;         UITabBarItem * item5=[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:105];    vc5.tabBarItem=item5;       //將TabBarController設置為窗口的根控制器self.window.rootViewController=tabVC;

2.UITabBar自己有一些方法是可以改變自身狀態,但是對于UITabBarController自帶的tabBar還是不能滿足需求的,因此們需要用到自定義

  思路如下: 我們需要自定義一個tabbar,這里我們用UIView來替代,同時我們需要在tabbar上面來增加Item,從而達到點擊控制視圖控制器的目的。Item涉及到點擊事件因此我們可以考慮用Button來完成,同時在button上面添加圖標和標題。

  1 我們自定義類JRTabBarController.h

  2 分別實現三個方法

代碼如下

#PRagma mark - loadVC- (void) _loadVC{        self.tabBar.hidden=YES;        //1 創建視圖控制器    JRViewController * vc1=[[JRViewController alloc] init];            UIViewController * vc2=[[UIViewController alloc] init];    vc2.view.backgroundColor=[UIColor greenColor];        UIViewController * vc3=[[UIViewController alloc] init];    vc3.view.backgroundColor=[UIColor yellowColor];        UIViewController * vc4=[[UIViewController alloc] init];    vc4.view.backgroundColor=[UIColor blueColor];         self.viewControllers=@[vc1,vc2,vc3,vc4];    }#pragma mark - _makeTabBar- (void)_makeTabBar{        //1 >定制tabbar    UIView * bgview=[[UIView alloc] initWithFrame:CGRectMake(0, kHeight-49, kWidth, 49)];    bgview.backgroundColor=[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];    [self.view addSubview:bgview];        //2 >定制btn    CGFloat space=(kWidth-2*kLeftSpace-5*kBtSize)/4.0+kBtSize;        for(int i=0;i<5;i++){                NSDictionary * dic=_array[i];        //1 初始化button大小        JRButton * button= [[JRButton alloc] initWithFrame:CGRectMake(kLeftSpace+i*space, 49/2.0-kBtSize/2.0, kBtSize, kBtSize)];                //2 初始化button的標題和圖片        [button initButtonWithTitle:dic[@"title"] andImage:dic[@"image"]];                //3 為button 設置tag 和代理        button.tag=i;        button.delegate=self;        [bgview addSubview:button];                //4 將button 加入到數組,來調整選中背景的位置        [_btArray addObject:button];                    }        //3 >增加選中圖標    _selectView=[[UIImageView alloc] initWithFrame:CGRectMake(10, 49/2.0-(kBtSize+2)/2.0, kBtSize+4, kBtSize+4)];    UIButton * button=_btArray[0];    _selectView.center=button.center;    _selectView.image=[UIImage imageNamed:@"bg"];    [bgview addSubview:_selectView];    [bgview sendSubviewToBack:_selectView];    }#pragma mark - 加載數據- (void) _loadData{        _btArray=[NSMutableArray array];        NSDictionary * dic1=@{@"title":@"電影",@"image":[UIImage imageNamed:@"movie_cinema"]};    NSDictionary * dic2=@{@"title":@"新聞",@"image":[UIImage imageNamed:@"msg_new"]};    NSDictionary * dic3=@{@"title":@"top",@"image":[UIImage imageNamed:@"star_top250"]};    NSDictionary * dic4=@{@"title":@"影院",@"image":[UIImage imageNamed:@"icon_cinema"]};    NSDictionary * dic5=@{@"title":@"更多",@"image":[UIImage imageNamed:@"more_select_setting"]};        _array=@[dic1,dic2,dic3,dic4,dic5];    }

  2、這里還有一個需要完成的功能就是點擊事件,當每個Item被點擊的時候我們需要進行視圖控制器的切換,在切換視圖控制器的同時我們還需要控制黑色背景小圖片的移動,下面我們來實現這個方法

#pragma mark - ButtonDelegate- (void)changePage:(NSInteger)index{        //1 改變選中圖片    UIButton * button=_btArray[index];    [UIView beginAnimations:nil context:nil];    _selectView.center=button.center;    [UIView commitAnimations];        //2 切換視圖控制器    self.selectedIndex=index; }

3 、Item的定義,這里我們自定義一個button用來自定義Item,分別在button上面增加圖片和標題來達到我們的效果,同時,通過代理實現控件的控制,代碼如下:

/** *  初始化圖片和標題 * *  @param title 標題 *  @param image 圖片 */- (void) initButtonWithTitle:(NSString *) title andImage:(UIImage *) image{    if(self) {       //1> 添加Image        UIImageView * imageView=[[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width/2.0-kImageSize/2.0, 2, kImageSize, kImageSize)];        imageView.contentMode=UIViewContentModeScaleaspectFit;        imageView.image=image;        [self addSubview:imageView];               //2> 添加title        UILabel * label=[[UILabel alloc] initWithFrame:CGRectMake(0, kImageSize, self.frame.size.width, self.frame.size.height-kImageSize)];        label.text=title;        label.textColor=[UIColor whiteColor];        label.textAlignment=NSTextAlignmentCenter;        label.font=[UIFont boldSystemFontOfSize:13];        [self addSubview:label];        [self addTarget:self action:@selector(showClick) forControlEvents:UIControlEventTouchUpInside];        }    }

 

作者:杰瑞教育
出處:http://www.49028c.com/jerehedu/ 
版權聲明:本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
技術咨詢:JRedu技術交流
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频免费在线观看| 久久97久久97精品免视看| 68精品久久久久久欧美| 日韩视频―中文字幕| 奇米成人av国产一区二区三区| 日韩中文在线视频| 97久久精品在线| 国产精品美女无圣光视频| 久久亚洲电影天堂| 欧美最猛性xxxxx(亚洲精品)| 91性高湖久久久久久久久_久久99| 国产精品老女人精品视频| 国产精品爽爽爽爽爽爽在线观看| 久久久国产影院| 国产午夜精品全部视频在线播放| 国产精品91一区| 亚洲精品视频中文字幕| 深夜福利亚洲导航| 国产成人自拍视频在线观看| 日韩精品中文在线观看| 在线看日韩av| 久热精品在线视频| 久久久电影免费观看完整版| 亚洲色图在线观看| 色香阁99久久精品久久久| 亚洲欧洲日产国码av系列天堂| 亚洲偷熟乱区亚洲香蕉av| 国产免费一区二区三区在线能观看| 91欧美精品成人综合在线观看| 亚洲精品成人久久电影| 亚洲aⅴ男人的天堂在线观看| 亚洲在线视频福利| 92国产精品久久久久首页| 亚洲最新视频在线| 精品国产一区二区三区四区在线观看| 在线视频欧美日韩精品| 91精品国产色综合久久不卡98口| 一区二区三区亚洲| 91美女福利视频高清| 午夜精品蜜臀一区二区三区免费| 欧美日韩另类视频| 日韩黄色高清视频| 精品国产欧美一区二区三区成人| 91国内免费在线视频| 91精品在线播放| 久久精品国产亚洲精品2020| 国产精品一区二区av影院萌芽| 色香阁99久久精品久久久| 国产精品免费网站| 色七七影院综合| 欧美日韩在线影院| 国产成+人+综合+亚洲欧美丁香花| 亚洲精品成人久久电影| 色偷偷噜噜噜亚洲男人| 国产精品久久久久久久午夜| 日韩欧美成人区| 亚洲理论在线a中文字幕| 亚洲最大成人网色| 欧美大人香蕉在线| xx视频.9999.com| 亚洲综合国产精品| 国产精品视频中文字幕91| 在线电影中文日韩| 日韩欧美精品在线观看| 91精品国产91久久久久久最新| 久久精品国产一区二区三区| 国产中文字幕日韩| 日韩中文字幕在线| 精品国产乱码久久久久久婷婷| 欧美成人午夜视频| 国产97免费视| 久久久免费高清电视剧观看| 久久久之久亚州精品露出| 欧美国产日韩xxxxx| 欧美精品一区在线播放| 久久精品国产99国产精品澳门| 午夜精品99久久免费| 91po在线观看91精品国产性色| 国产自产女人91一区在线观看| 91久久国产婷婷一区二区| 日韩高清有码在线| 国产精品久久久久久久久久东京| 亚洲综合国产精品| 精品毛片三在线观看| 国产黑人绿帽在线第一区| 亚洲精品日韩在线| 国产成人精品久久| 91av在线免费观看视频| 91av在线免费观看| 精品国产欧美一区二区五十路| 色综合导航网站| 欧美激情精品久久久久久| 久久久久久久999精品视频| 欧美精品videofree1080p| 午夜精品久久久久久久男人的天堂| www国产精品com| 日韩中文字幕欧美| 亚洲综合中文字幕在线观看| 一本色道久久综合狠狠躁篇的优点| 午夜精品久久久久久久男人的天堂| 日韩欧美亚洲一二三区| 欧美性感美女h网站在线观看免费| 国产在线视频2019最新视频| 国语自产精品视频在线看抢先版图片| 日韩av在线播放资源| 日韩高清人体午夜| 成人激情视频小说免费下载| 美女久久久久久久| 日韩在线免费视频观看| 亚洲japanese制服美女| 国产亚洲一级高清| 欧美精品在线网站| 91久久久久久久久久| 日韩中文娱乐网| 亚洲视频一区二区| 成人黄色生活片| 亚洲欧洲国产伦综合| 欧美一区三区三区高中清蜜桃| 超碰日本道色综合久久综合| 97国产在线观看| 久久久久久91香蕉国产| 日韩视频在线一区| 国产日本欧美一区二区三区| 国产精品手机播放| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧美日韩中文在线| 亚洲色图第一页| 成人欧美在线观看| 欧美视频在线观看免费| 久久99青青精品免费观看| 国产精品日韩在线播放| 亚洲欧美制服另类日韩| 国产精品香蕉国产| 黑人巨大精品欧美一区免费视频| 日本久久久久久久久久久| 欧美激情第99页| 亚洲自拍偷拍第一页| 亚洲精品综合久久中文字幕| 亚洲精品成人免费| 久久夜色精品国产欧美乱| 久久夜精品va视频免费观看| 日本欧美爱爱爱| 91精品国产一区| 国产精品毛片a∨一区二区三区|国| 国产精品高潮视频| 日韩欧美国产黄色| 欧美日韩裸体免费视频| 国产97色在线| 国产日韩换脸av一区在线观看| 国产成人精品久久久| 国产精品国模在线| 欧美一区二区影院| 国产精品免费小视频| 大桥未久av一区二区三区| 久久久免费av| 久久久亚洲精选| 在线日韩精品视频| 精品久久久久久久久国产字幕| 亚洲2020天天堂在线观看| 国产日韩在线一区| www.欧美精品一二三区| 91色视频在线观看| 91九色单男在线观看| 成人在线播放av|