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

首頁 > 系統 > iOS > 正文

iOS開發中UITabBarController的使用示例

2020-07-26 03:33:53
字體:
來源:轉載
供稿:網友

首先我們看一下它的view層級圖:

復制代碼 代碼如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.window.backgroundColor = [UIColor whiteColor]; 
  
#pragma mark - 設置tabBarItem 
#pragma mark  第一個視圖ViewController 
     
    HMT_AViewController * tabBarViewA = [[HMT_AViewController alloc] init]; 
    // 設置A視圖下----標簽欄標題文字(可參照微信或者QQ體會) 
    tabBarViewA.tabBarItem.title = @"微信"; 
    // 設置A視圖下----標簽欄圖片(因為自己沒有圖片,在這里隨便設置了個名字) 
    //tabBarViewA.tabBarItem.image = [UIImage imageNamed:@"1.png"]; 
    // 設置A視圖下----標簽欄信息提示(住:badgeValue是NSString類型 如下設置了3,就像QQ消息有3條未接受一樣,給人一種提醒) 
    tabBarViewA.tabBarItem.badgeValue = @"3"; 
    // ios7棄用了----標簽欄選中的時候顯示一張圖片,沒選中的時候顯示另一張圖片 
    //[tabBarViewA.tabBarItem setFinishedSelectedImage:actionMenu.selectedIcon withFinishedUnselectedImage:actionMenu.icon]; 
    // ios7的方法(自己沒有圖片,所以代碼里面的圖片都是一個隨便取的名字,沒有實用意義) 
    //tabBarViewA.tabBarItem.selectedImage = actionMenu.selectedIcon; 
     
#pragma mark  第二個視圖ViewController 
    // 第二個視圖ViewController 
    HMT_BViewController * tabBarViewB = [[HMT_BViewController alloc] init]; 
    // 設置B視圖下----標簽欄 
    // 用系統提供的標識(可以算等價于圖標和文字)進行設置(參數:UITabBarSystemItem是個枚舉值,想要什么形式,就去系統提供的API中找) 
    tabBarViewB.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemSearch tag:1]; 
    // 設置B視圖下----標簽欄信息提示 
    tabBarViewB.tabBarItem.badgeValue = @"GO"; 
     
#pragma mark  第三個視圖ViewController 
    HMT_CViewController * tabBarViewC = [[HMT_CViewController alloc] init]; 
    tabBarViewC.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:2]; 
    // 設置B視圖下----標簽欄信息提示 
    tabBarViewC.tabBarItem.badgeValue = @"new"; 
     
#pragma mark  第四個視圖ViewController 
    HMT_DViewController * tabBarViewD = [[HMT_DViewController alloc] init]; 
    tabBarViewD.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:3]; 
    // 設置B視圖下----標簽欄信息提示 
    tabBarViewD.tabBarItem.badgeValue = @"99"; 
     
#pragma mark  第五個視圖ViewController 
    HMT_EViewController * tabBarViewE = [[HMT_EViewController alloc] init]; 
    tabBarViewE.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemHistory tag:4]; 
    // 設置B視圖下----標簽欄信息提示 
    tabBarViewE.tabBarItem.badgeValue = @"sky"; 
     
#pragma mark  第六個視圖ViewController(系統默認能顯示的最大視圖個數是5個) 
    /* 如果你的viewControllers屬性添加了多于五個的items,那tab bar controller將會自動插入一個特殊的view controller,
    稱為 More view controller,該 controller 將會負責管理多于的items,這個More view controller提供一個自定義的界面,
    用table的方式呈現多余的view controller,并且view controller的數量是不限制的*/ 
    HMT_FViewController * tabBarViewF = [[HMT_FViewController alloc] init]; 
    tabBarViewF.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemContacts tag:5]; 
    // 設置F視圖下----標簽欄信息提示 
    tabBarViewF.tabBarItem.badgeValue = @"AG"; 
     
     
     
#pragma mark - 設置TabBarController 
     
    // 創建TabBarController 
    UITabBarController * tabBarController = [[UITabBarController alloc]init]; 
    // TabBarController默認是放在最底部的,如果你想調整位置,可以進行下面2部操作(44是iPhone中TabBarController和UINavigationController標準高度) 
    //CGRect frame = CGRectMake(0, 20, 320, 44); 
    //tabBarController.tabBar.frame = frame; 
    // 每一個tab都必須有一個content view controller------->viewControllers屬性,用來存入一個應用的TabBarController有多少個界面切換 
    tabBarController.viewControllers = [NSArray arrayWithObjects:tabBarViewA,tabBarViewB,tabBarViewC,tabBarViewD,tabBarViewE,tabBarViewF, nil nil]; 
    // 設置著色 
    tabBarController.tabBar.tintColor = [UIColor greenColor]; 
    // 設置選中圖片時候 
    tabBarController.tabBar.selectedImageTintColor = [UIColor brownColor]; 
    // 設置背景圖片(自己沒有圖片,不進行設置) 
    //tabBarController.tabBar.backgroundImage = [UIImage imageNamed:@"@@@@@"]; 
    // 設置程序啟動時默認的ViewController視圖(設置為3,一共5個ViewController,進來時候顯示的視圖就是第4個-tabBarViewD,下標從0開始) 
    tabBarController.selectedIndex = 3; 
     
     
    self.window.rootViewController = tabBarController; 
     
    [self.window makeKeyAndVisible]; 
    return YES; 

最后效果如下圖:

UITabBarController的代理方法以及模態顯示
首先要實現協議<UITabBarControllerDelegate>

復制代碼 代碼如下:
    // 設置代理
    tabBarController.delegate =self; 
    //UINavigationController *nav = tabBarController.moreNavigationController;
    //[nav setNavigationBarHidden:YES animated:YES];

// 控制哪些ViewController的標簽欄能被點擊
- (BOOL)tabBarController:(UITabBarController *)tabBarControllershouldSelectViewController:(UIViewController *)viewController{
    // 代表HMT_CViewController這個View無法顯示,無法點擊到它代表的標簽欄
    if ([viewControllerisKindOfClass:[HMT_CViewControllerclass]]) {
        returnNO;
    }
    returnYES;
}

// 選中哪個標簽欄,一個監控作用吧
- (void)tabBarController:(UITabBarController *)tabBarControllerdidSelectViewController:(UIViewController *)viewController{

}

// More view controller將要開始編輯
- (void)tabBarController:(UITabBarController *)tabBarControllerwillBeginCustomizingViewControllers:(NSArray *)viewControllers{

}
// More view controller將要結束編輯
- (void)tabBarController:(UITabBarController *)tabBarControllerwillEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed{

}
// More view controller編輯
- (void)tabBarController:(UITabBarController *)tabBarControllerdidEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed{

}

#import "HMT-AViewController.h"
#import "HMTModalShowViewController.h"

@interfaceHMT_AViewController ()
@end

@implementation HMT_AViewController

- (void)viewDidLoad
{
    [superviewDidLoad];
    self.view.backgroundColor = [UIColorredColor];
   
    // 創建一個按鈕
    UIButton * button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    button.frame =CGRectMake(100,100,100, 100);
    [button addTarget:self action:@selector(modalShow)forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
// Do any additional setup after loading the view.
}

- (void)modalShow{
   
    HMTModalShowViewController * modalShowVC = [[HMTModalShowViewController alloc]init];

    //模態視圖控制器呈現出來時候的視覺效果
    modalShowVC.modalTransitionStyle =UIModalTransitionStyleCrossDissolve;
    /*
     UIModalTransitionStyleCoverVertical = 0,   //默認,由下往上
     UIModalTransitionStyleFlipHorizontal,      //水平轉動效果
     UIModalTransitionStyleCrossDissolve,       //漸變效果
     UIModalTransitionStylePartialCurl,         //書頁往上翻動效果
     */
    //模態視圖控制器呈現方式,默認全屏
    modalShowVC.modalPresentationStyle =UIModalPresentationFullScreen;
    /*   
     UIModalPresentationFullScreen = 0,
     UIModalPresentationPageSheet,
     UIModalPresentationFormSheet,
     UIModalPresentationCurrentContext,
     UIModalPresentationCustom,
     UIModalPresentationNone = -1,   
     */
   
    UINavigationController * modalShowNC = [[UINavigationController alloc] initWithRootViewController:modalShowVC];
   
    //推出模態視圖控制器
    [self presentViewController:modalShowNC animated:YES completion:^{
        NSLog(@"hello world");      
    }];
}


#import "HMTModalShowViewController.h"

@interfaceHMTModalShowViewController ()

@end

@implementation HMTModalShowViewController

- (void)viewDidLoad
{
    [superviewDidLoad];
// Do any additional setup after loading the view.
   
    self.view.backgroundColor = [UIColor yellowColor];
   
    // 利用UINavigationController來實現退出控制器
    UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(modalDismiss)];
   
    self.navigationItem.leftBarButtonItem = barButton;
    self.navigationItem.title =@"humingtao";
   
    //創建一個按鈕來實現退出控制器
/*    UIButton * button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    button.frame = CGRectMake(100, 100, 100, 100);
    [button addTarget:self action:@selector(modalDismiss) forControlEvents:UIControlEventTouchUpInside];
   
    [self.view addSubview:button];*/
   
}

- (void)modalDismiss{
   //退出模態視圖控制器
    [self dismissViewControllerAnimated:YES completion:^{
        NSLog(@"退出GoodBye");
    }];
}
@end


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产大片精品免费永久看nba| 国产97人人超碰caoprom| 在线精品播放av| 成人精品一区二区三区| 欧美电影免费观看高清| 九九久久精品一区| 这里精品视频免费| 国产亚洲一区二区在线| 欧美xxxx做受欧美.88| 日韩在线观看视频免费| 欧美专区在线视频| 欧美成人精品三级在线观看| 亚洲欧洲在线观看| 91免费人成网站在线观看18| 成人情趣片在线观看免费| 亚洲人成电影网站| 国产美女精品免费电影| 黄色一区二区在线观看| 欧美日韩国内自拍| 欧美在线视频一区二区| 日韩精品免费在线视频| 精品在线观看国产| 亚洲tv在线观看| 日韩精品视频免费在线观看| 日本a级片电影一区二区| 国产精品高潮粉嫩av| 国产精品九九九| 欧美高清性猛交| 国产精品揄拍一区二区| 国产免费一区二区三区在线能观看| 性欧美暴力猛交69hd| 日韩精品一二三四区| 国产精品一区二区电影| 日韩亚洲一区二区| 久久精品亚洲热| 亚洲欧美日韩图片| 亚洲成人av片在线观看| 欧美黄色性视频| 欧美亚洲一区在线| 欧美成人免费va影院高清| 亚洲一区二区久久| 国产深夜精品福利| 亚洲欧美另类中文字幕| 精品二区三区线观看| 亚洲桃花岛网站| 精品美女永久免费视频| 91香蕉嫩草神马影院在线观看| 这里只有精品视频| 亚洲成av人影院在线观看| 欧洲午夜精品久久久| 成人黄色大片在线免费观看| 欧美日韩亚洲网| 欧美做受高潮电影o| 中文字幕视频一区二区在线有码| 国产视频自拍一区| 日韩人在线观看| 精品美女久久久久久免费| 亚洲国产免费av| 中文字幕av一区二区三区谷原希美| 久久久免费观看视频| 精品久久久久国产| www国产精品视频| 精品少妇一区二区30p| 国语自产精品视频在免费| 亚洲欧美自拍一区| 国产日韩欧美日韩| 国产精品大片wwwwww| 日韩成人高清在线| 69av视频在线播放| 久久韩剧网电视剧| 亚洲成人久久电影| 亚洲专区中文字幕| 九九九久久国产免费| 91wwwcom在线观看| 日韩电影大片中文字幕| 日韩av中文字幕在线播放| 8050国产精品久久久久久| 欧美日韩国产色| 国产精品高潮呻吟久久av黑人| 亚洲欧美另类中文字幕| 欧美理论电影在线播放| 国产精品黄色av| 日韩中文av在线| 日韩成人av网址| 一区二区国产精品视频| 欧美野外猛男的大粗鳮| xxav国产精品美女主播| 亚洲精品日韩久久久| 精品国产欧美一区二区三区成人| 亚洲欧洲一区二区三区久久| 日本精品性网站在线观看| 久久久久久久久久国产| 午夜精品一区二区三区视频免费看| 欧美性猛交xxxx免费看| 91po在线观看91精品国产性色| 日本三级韩国三级久久| 亚洲人成电影在线观看天堂色| 91九色在线视频| 中文字幕日韩av综合精品| 91国内免费在线视频| 亚洲色图美腿丝袜| 亚洲三级免费看| 亚洲在线免费看| 日韩在线播放av| 97不卡在线视频| 久久精品中文字幕一区| 欧美自拍大量在线观看| 欧美国产精品日韩| 在线观看国产欧美| 欧美高清不卡在线| 亚洲成人黄色网| 国产精品专区h在线观看| 97在线观看免费| 欧美精品久久久久| 国外成人在线播放| 国产精品永久免费观看| 国内精品一区二区三区| 国产精品高潮视频| 欧美国产日韩免费| 日韩av不卡电影| 欧美国产在线视频| 6080yy精品一区二区三区| 国产精品第10页| 在线播放日韩精品| 91系列在线播放| 在线一区二区日韩| 91黑丝在线观看| 精品国产一区二区三区在线观看| 欧美肥老太性生活视频| 成人性生交大片免费看小说| 97免费视频在线播放| 2019中文字幕在线| 精品亚洲一区二区三区四区五区| 日韩大片在线观看视频| 欧美日韩国产123| 国产福利精品av综合导导航| 国产不卡精品视男人的天堂| 色婷婷综合成人| 91亚洲永久免费精品| 成人黄色av网| 97成人在线视频| 亚洲一区二区久久久久久久| 日韩成人在线视频观看| 久久精品这里热有精品| 精品日韩中文字幕| 亚洲国产中文字幕久久网| 在线成人一区二区| 91精品国产综合久久香蕉922| 日韩中文综合网| 91国内揄拍国内精品对白| 国产一区深夜福利| 不卡av电影院| 国产精品激情av电影在线观看| 色阁综合伊人av| 日韩电影在线观看中文字幕| 美日韩丰满少妇在线观看| 欧美一乱一性一交一视频| 欧美国产极速在线| 久久国产精品久久久久久| 日韩久久精品成人| 欧美性生交大片免网| 日韩av电影在线播放| 欧美日韩成人在线播放| 成人国产精品久久久久久亚洲|