麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

[iOS基礎控件-6.12.1]QQ菜單管理UITabBarController控制器管理

2019-11-14 19:42:23
字體:
來源:轉載
供稿:網友
A.需求
1.類似QQ、微信頂部或者底部的窗口轉換導航條
2.給每個頁面添加相應內容
 
B.UITabBarController
1.基本概念:
(1)內容高度
iOS7之前內容高度為:屏幕高度 - 狀態欄高度44 - 底部導航條高度49
iOS7及之后,內容高度為整個屏幕
Image(254)
 
 
2.使用代碼創建初始化
(1)創建一個UITabBarController
UITabBarController的使用步驟
  • 初始化UITabBarController
  • 設置UIWindow的rootViewController為UITabBarController
  • 根據具體情況,通過addChildViewController方法添加對應個數的子控制器
 
 
(2)添加子控制器
UITabBarController添加控制器的方式有2種
  • 添加單個子控制器
- (void)addChildViewController:(UIViewController *)childController;

  • 設置子控制器數組
@PRoperty(nonatomic,copy) NSArray *viewControllers;
 
 
如果UITabBarController有N個子控制器,那么UITabBar內部就會有N個UITabBarButton作為子控件
如果UITabBarController有4個子控制器,那么UITabBar的結構大致如下圖所示
Image(255)
 
 
AppDelegate:
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2     // Override point for customization after application launch. 3     4     // 設置window 5     self.window = [[UIWindow alloc] init]; 6     self.window.frame = [[UIScreen mainScreen] bounds]; 7     self.window.backgroundColor = [UIColor grayColor]; 8     [self.window makeKeyAndVisible]; 9    10    11     // 設置一個UITabBarController12     UITabBarController *tabBarController = [[UITabBarController alloc] init];13     self.window.rootViewController = tabBarController;14    15     // 添加子控制器16     UIViewController *c1 = [[UIViewController alloc] init];17     c1.view.backgroundColor = [UIColor redColor];18 //    [tabBarController addChildViewController:c1];19    20     UIViewController *c2 = [[UIViewController alloc] init];21     c2.view.backgroundColor = [UIColor blueColor];22 //    [tabBarController addChildViewController:c2];23    24     UIViewController *c3 = [[UIViewController alloc] init];25     c3.view.backgroundColor = [UIColor greenColor];26    27     tabBarController.viewControllers = @[c1,c2,c3];28    29    30     return YES;31 }
 
Image(256)
 
 
(3)設置導航條選項樣式
UITabBarButton里面顯示什么內容,由對應子控制器的tabBarItem屬性決定

EN001bbb7c

UITabBarItem有以下屬性影響著UITabBarButton的內容
標題文字
@property(nonatomic,copy) NSString *title;

圖標
@property(nonatomic,retain) UIImage *image;

選中時的圖標
@property(nonatomic,retain) UIImage *selectedImage;

提醒數字
@property(nonatomic,copy) NSString *badgeValue;
 
AppDelegate:
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2     // Override point for customization after application launch. 3     4     // 設置window 5     self.window = [[UIWindow alloc] init]; 6     self.window.frame = [[UIScreen mainScreen] bounds]; 7     self.window.backgroundColor = [UIColor grayColor]; 8     [self.window makeKeyAndVisible]; 9    10    11     // 設置一個UITabBarController12     UITabBarController *tabBarController = [[UITabBarController alloc] init];13     self.window.rootViewController = tabBarController;14    15     // 添加子控制器16     UIViewController *c1 = [[UIViewController alloc] init];17     c1.view.backgroundColor = [UIColor redColor];18     c1.tabBarItem.title = @"紅色";19 //    [tabBarController addChildViewController:c1];20    21     UIViewController *c2 = [[UIViewController alloc] init];22     c2.view.backgroundColor = [UIColor blueColor];23     c2.tabBarItem.title = @"藍色";24 //    [tabBarController addChildViewController:c2];25    26     UIViewController *c3 = [[UIViewController alloc] init];27     c3.view.backgroundColor = [UIColor greenColor];28     c3.tabBarItem.title = @"綠色";29    30     tabBarController.viewControllers = @[c1,c2,c3];31    32    33     return YES;34 }
 
Image(257)
 
3.使用storyboard創建初始化
(1)拖入UITabBarController
(2)拖入N個UIViewController待用
(3)按照順序連線,設置UITabBarController的子控制器
Image(258)
 
 
Image(259)
 
(4)設置子控制器的TabBarItem
Image(260)
 
out:
Image(261)
 
 
注意:Selected Image不設置,系統就會自動將原圖編程藍色作為 Selected Image
 
4.子控制器的生命周期
(1)單個子控制器的生命周期和普通的控制器生命周期一樣
生命周期方法
 
 1 - (void)viewDidLoad { 2     [super viewDidLoad]; 3     NSLog(@"%@ - viewDidLoad", self.class); 4 } 5  6 - (void)viewWillAppear:(BOOL)animated { 7     [super viewWillAppear:animated]; 8     NSLog(@"%@ - viewWillAppear", self.class); 9 }10 11 - (void)viewDidAppear:(BOOL)animated {12     [super viewDidAppear:animated];13     NSLog(@"%@ - viewDidAppear", self.class);14 }15 16 - (void) viewWillDisappear:(BOOL)animated {17     [super viewWillDisappear:animated];18     NSLog(@"%@ - viewWillDisappear", self.class);19 }20 21 - (void)viewDidDisappear:(BOOL)animated {22     [super viewDidDisappear:animated];23     NSLog(@"%@ - viewDidDisappear", self.class);24 }25 26 27 - (void)didReceiveMemoryWarning {28     [super didReceiveMemoryWarning];29     NSLog(@"%@ - didReceiveMemoryWarning", self.class);30 }31 32 - (void)viewWillUnload {33     [super viewWillUnload];34     NSLog(@"%@ - viewWillUnload", self.class);35 }36 37 - (void)viewDidUnload {38     [super viewDidUnload];39     NSLog(@"%@ - viewDidUnload", self.class);40 }
 
(2)兩個子控制器切換的生命周期
a.出現第一個子控制器view
2014-12-27 21:11:44.338 UITabBarControllerByStoryboard[22567:590996] OneViewController - viewDidLoad
2014-12-27 21:11:44.340 UITabBarControllerByStoryboard[22567:590996] OneViewController - viewWillAppear
2014-12-27 21:11:44.407 UITabBarControllerByStoryboard[22567:590996] OneViewController - viewDidAppear
 
b.切換到第二個控制器view
2014-12-27 21:12:10.042 UITabBarControllerByStoryboard[22567:590996] TwoViewController - viewDidLoad
2014-12-27 21:12:10.042 UITabBarControllerByStoryboard[22567:590996] TwoViewController - viewWillAppear
2014-12-27 21:12:10.042 UITabBarControllerByStoryboard[22567:590996] OneViewController - viewWillDisappear
2014-12-27 21:12:10.054 UITabBarControllerByStoryboard[22567:590996] OneViewController - viewDidDisappear
2014-12-27 21:12:10.055 UITabBarControllerByStoryboard[22567:590996] TwoViewController - viewDidAppear
 
 
C.App框架
在每個子控制器之前再包裝上一個NavigationController
Image(262)
 
 
Image(263)
 
 
Image(264)
 
 
 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91成人午夜性a一级毛片 | 4399一级成人毛片 | 国产精品久久久久久久久久免 | 成人性生活视频 | 国产三级午夜理伦三级 | 久久色伦理资源站 | 水多视频在线观看 | 天天操很很操 | 欧美亚洲一级 | 欧美日韩免费在线观看视频 | 亚州精品天堂中文字幕 | 女人解衣喂奶电影 | 亚洲一区二区免费 | 亚洲成人入口 | 在线观看免费毛片视频 | 精品中文视频 | 综合国产一区 | 国产美女视频一区二区三区 | 最新精品在线 | 久国久产久精永久网页 | 国产成人在线看 | 国产精品九九久久一区hh | 91成人一区 | 91午夜少妇三级全黄 | 日韩999| 国产三级精品最新在线 | 成人综合在线观看 | 成人三级电影网址 | 国产午夜亚洲精品理论片大丰影院 | 免费的性生活视频 | 男女视频免费看 | 日韩av电影在线免费观看 | 在线 日本 制服 中文 欧美 | bt 自拍 另类 综合 欧美 | 91天堂国产在线 | 99爱国产精品 | 桥本有菜免费av一区二区三区 | 91精选视频 | 国产精品久久久在线观看 | 成人毛片在线免费看 | 亚洲人成网站免费播放 |