最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS開發(fā)中UITabBarController的使用示例

 更新時間:2015年09月24日 10:11:01   作者:TommyYaphetS  
這篇文章主要介紹了iOS開發(fā)中UITabBarController的使用示例,代碼基于Objective-C進行演示,需要的朋友可以參考下

首先我們看一下它的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視圖下----標簽欄 
    // 用系統(tǒng)提供的標識(可以算等價于圖標和文字)進行設置(參數(shù):UITabBarSystemItem是個枚舉值,想要什么形式,就去系統(tǒng)提供的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(系統(tǒng)默認能顯示的最大視圖個數(shù)是5個) 
    /* 如果你的viewControllers屬性添加了多于五個的items,那tab bar controller將會自動插入一個特殊的view controller,
    稱為 More view controller,該 controller 將會負責管理多于的items,這個More view controller提供一個自定義的界面,
    用table的方式呈現(xiàn)多余的view controller,并且view controller的數(shù)量是不限制的*/ 
    HMT_FViewController * tabBarViewF = [[HMT_FViewController alloc] init]; 
    tabBarViewF.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemContacts tag:5]; 
    // 設置F視圖下----標簽欄信息提示 
    tabBarViewF.tabBarItem.badgeValue = @"AG"; 
     
     
     
#pragma mark - 設置TabBarController 
     
    // 創(chuàng)建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的代理方法以及模態(tài)顯示
首先要實現(xiàn)協(xié)議<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;
}

// 選中哪個標簽欄,一個監(jiān)控作用吧
- (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];
   
    // 創(chuàng)建一個按鈕
    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];

    //模態(tài)視圖控制器呈現(xiàn)出來時候的視覺效果
    modalShowVC.modalTransitionStyle =UIModalTransitionStyleCrossDissolve;
    /*
     UIModalTransitionStyleCoverVertical = 0,   //默認,由下往上
     UIModalTransitionStyleFlipHorizontal,      //水平轉動效果
     UIModalTransitionStyleCrossDissolve,       //漸變效果
     UIModalTransitionStylePartialCurl,         //書頁往上翻動效果
     */
    //模態(tài)視圖控制器呈現(xiàn)方式,默認全屏
    modalShowVC.modalPresentationStyle =UIModalPresentationFullScreen;
    /*   
     UIModalPresentationFullScreen = 0,
     UIModalPresentationPageSheet,
     UIModalPresentationFormSheet,
     UIModalPresentationCurrentContext,
     UIModalPresentationCustom,
     UIModalPresentationNone = -1,   
     */
   
    UINavigationController * modalShowNC = [[UINavigationController alloc] initWithRootViewController:modalShowVC];
   
    //推出模態(tài)視圖控制器
    [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來實現(xiàn)退出控制器
    UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(modalDismiss)];
   
    self.navigationItem.leftBarButtonItem = barButton;
    self.navigationItem.title =@"humingtao";
   
    //創(chuàng)建一個按鈕來實現(xiàn)退出控制器
/*    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{
   //退出模態(tài)視圖控制器
    [self dismissViewControllerAnimated:YES completion:^{
        NSLog(@"退出GoodBye");
    }];
}
@end


相關文章

  • IOS實現(xiàn)手動截圖并保存

    IOS實現(xiàn)手動截圖并保存

    這篇文章主要介紹了IOS實現(xiàn)手動剪裁圖片并保存到相冊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS中UIActionSheet動態(tài)添加按鈕

    iOS中UIActionSheet動態(tài)添加按鈕

    這篇文章主要介紹了iOS中UIActionSheet動態(tài)添加按鈕功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-06-06
  • NSMutable?對象的坑解決分析

    NSMutable?對象的坑解決分析

    這篇文章主要為大家介紹了NSMutable?對象的坑解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • iOS實現(xiàn)微信朋友圈與搖一搖功能

    iOS實現(xiàn)微信朋友圈與搖一搖功能

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)微信朋友圈與搖一搖功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • iOS中讓多個cell上都出現(xiàn)倒計時的分析與實現(xiàn)

    iOS中讓多個cell上都出現(xiàn)倒計時的分析與實現(xiàn)

    這篇文章主要給大家介紹了在iOS中每個cell上都出現(xiàn)倒計時的分析與實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-07-07
  • IOS 避免self循環(huán)引用的方法的實例詳解

    IOS 避免self循環(huán)引用的方法的實例詳解

    這篇文章主要介紹了IOS 避免self循環(huán)引用的方法的實例詳解的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • iOS開發(fā)學習之監(jiān)測程序的崩潰次數(shù)詳解

    iOS開發(fā)學習之監(jiān)測程序的崩潰次數(shù)詳解

    iOS開發(fā)中遇到程序崩潰是很正常的事情,下面這篇文章主要給大家介紹了關于iOS如何監(jiān)測程序崩潰次數(shù)的相關資料,文中通過詳細的示例代碼供大家參考學習,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-07-07
  • iOS10全新推送功能實現(xiàn)代碼

    iOS10全新推送功能實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了iOS10全新推送功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS 10 推送高階篇(必看)

    iOS 10 推送高階篇(必看)

    本文重點給大家介紹ios10 推送的所有通知類,所以說這篇教程是ios10推送必看篇,感興趣的朋友快來一起學習吧
    2016-09-09
  • iOS多級列表實現(xiàn)代碼

    iOS多級列表實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了iOS多級列表實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

九寨沟县| 桐城市| 孝昌县| 杂多县| 霍城县| 明光市| 华安县| 商城县| 铜川市| 屯留县| 太湖县| 北辰区| 台安县| 新民市| 三原县| 高清| 南投市| 米林县| 大理市| 尖扎县| 中西区| 宁国市| 名山县| 济南市| 巴林右旗| 玉山县| 曲麻莱县| 来宾市| 嫩江县| 绥宁县| 含山县| 延津县| 涪陵区| 哈尔滨市| 吉隆县| 灯塔市| 鞍山市| 华阴市| 南充市| 鄂伦春自治旗| 武功县|