国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

CoCoa編程中視圖,控制器與視圖類介紹

2019-11-02 15:03:13
字體:
供稿:網(wǎng)友

  UITabBarController類

  選項(xiàng)卡類允許用戶在多個(gè)視圖控制器之間移動(dòng)并在屏幕的底部可定制該欄。向不同的視圖同時(shí)提供一次單擊訪問,向用戶選擇的屏幕和編輯底欄的屏幕同時(shí)提供More按鈕。

  選項(xiàng)卡類的方便之處就是 不需要象導(dǎo)航欄那樣以棧的方式推入和彈出視圖的操作,而是組建一系列的控制器(它們各自可以是UIViewController、UINavigationController、UITableViewController或其他任何類型的視圖控制器),并通過設(shè)置欄的viewControllers屬性將其添加到選項(xiàng)卡欄,使每個(gè)選項(xiàng)卡對(duì)應(yīng)一個(gè)試圖控制器。

  一、創(chuàng)建UITabBarController

  常見的在應(yīng)用程序委托類的applicationDidFinishLaunching:方法中創(chuàng)建,這通常可為應(yīng)用窗口提供根視圖。

  // 創(chuàng)建一個(gè)UITabBarController對(duì)象

  代碼如下

  UITabBarController *tabBarController = [[UITabBarController alloc] init];

  // tabBarController.delegate = self;

  // 創(chuàng)建一系列要添加到每個(gè)具體Tab卡的視圖控制器

  代碼如下

  MyViewController *vc1 = [[MyViewController alloc] init];

  MyOtherViewController *vc2 = [[MyViewController alloc] init];

  // 將創(chuàng)建好的這些視圖控制器先添加到一個(gè)Array對(duì)象中,再將此數(shù)組分配給Tab Bar Controller的viewControllers屬性

  代碼如下

  NSArray *controllers = [NSArray arrayWithObjects:vc1,vc2,nil];

  tabBarControllers.viewControllers = controllers;

  /* 也或者

  NSMutableArray *controllers =[[NSMutableArray alloc] initWithCapacity:2];

  [controllers addObject:vc1];

  [controllers addObject:vc2];

  */

  // 將TabBar控制器的當(dāng)前視圖添加到窗口

  [window addSubview:tabBarController.view];

  當(dāng)然在應(yīng)用程序委托AppDelegate類中創(chuàng)建UITabBarController,相當(dāng)于創(chuàng)建了一個(gè)基于Tab Bar的工程項(xiàng)目。不過,也可以視具體情況,我們直接在一個(gè)獨(dú)立的視圖控制器中創(chuàng)建UITabBarController實(shí)例對(duì)象,如自定義一個(gè)用于視圖切換的控制器類ViewSwitcherViewController,就可在其中的viewDidLoad方法中創(chuàng)建所需要的TabBarController。

  在實(shí)現(xiàn)UITabBarControllerDelegate委托的視圖控制器中重寫init方法來自定義UITabBarItem條目。

  代碼一是由initWithNibName:方法來加載具體的某個(gè)視圖控制器并自定義該控制器中TabBarItem樣式外觀等。

  代碼如下

  - (id)init {

  if(self = [super initWithNibName:@"MyViewController" bundle:nil]) {

  self.title = @"My View Controller";

  UIImage *anImage = [UIImage imageNamed:@"MyImage.png"];

  UITabBarItem *theItem = [[UITabBarItem alloc] initWithTitle:@"Home" image:anImage tag:0];

  self

三個(gè)字網(wǎng)名[www.la240.com/html2017/1/26/]
.tabBarItem = theItem;

  [theItem release];

  }

  return self;

  }

  代碼二我們也可以直接在具體的視圖控制器內(nèi)部重寫init方法。

  代碼如下

  - (id)init {

  if([super init] != nil) {

  UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Home" image:[UIImage imageNamed:@"MyImage.png"] tag:0];

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 富川| 营口市| 永德县| 通许县| 大田县| 竹溪县| 铅山县| 务川| 巴南区| 淅川县| 客服| 广昌县| 三原县| 安国市| 吴江市| 高台县| 定兴县| 云和县| 雷波县| 盖州市| 射阳县| 保定市| 建平县| 孙吴县| 汾阳市| 许昌市| 德州市| 吴江市| 云龙县| 弥渡县| 永修县| 江都市| 广南县| 双城市| 山阴县| 区。| 崇州市| 武安市| 华安县| 巫山县| 蒲江县|