ios開發入門- NavigationController導航控制使用

目標 : NavigationController導航的做用和使用php

程序效果圖以下 :ios

 

程序啓動第一個 view 上面包含了一個 NavigationController 。爲了區別視圖界面,咱們在第一個放了一個lable title爲:rootView 第二個視圖中  放了一個 lable title爲two,app

同時第一個視圖中還放了一個 button  點擊button 會跳入到第二個 視圖中 ,並能夠在 第二個視圖中 點擊 NavigationController 中的 root View(系統自動生成) 按鈕 返回到 第一個視圖中,這就是 NavigationController的做用。iphone

NavigationController 是建立分層應用程序的主要工具,它在管理在管理以及換入,換出多個視圖方面 和 TabBarController 比較相似,不一樣的地方是 NavigationController是做爲棧(stack)來實現的。根視圖控制器在堆棧最底層,接下來入棧的是General視圖控制器和Auto-Lock視圖控制器。能夠調用 pushViewControllerAnimated:方法將視圖控制器推入棧頂,也能夠調用popViewControllerAnimated:方 法將視圖控制器彈出堆棧 以下圖:編輯器

 

   此圖摘自於互聯網ide

UINavigationController的結構組成工具

看下圖,UINavigationController有Navigation bar  ,Navigation View ,Navigation toobar等組成。spa

 

   此圖摘自於互聯網code

下面咱們使用控件來實現一次 :對象

爲了讓我更清楚的瞭解NavigationController的用法,咱們建立一個空的 ios application 項目。

啓動Xcode 工具 建立一個新的工程, ios-》application -》 empty application

填寫工程信息 , 我這裏項目名稱起名爲 : iphone_Sample_Navigation

class prefix 起名爲 : Nav    下面複選框部分 所有 保持不選中狀態,以下圖:

 

 

點擊 next 點擊 選擇保存位置 。

建立好 項目後, 開始步入正題 。

1:  首先建立一個 空的 xib 視圖文件, 在視圖文件中添加 一個UINavigationController

點擊Xcode中的項目目錄 ,右鍵 new file -》 ios -》User Interface -》 Empty   點擊 next, 選擇 Device family 爲 iphone 點擊next   填寫文件名,爲 」NavigationViewContoller「  其餘保持默認。  點擊建立 。

建立後 Xcode 爲咱們生成了 一個 NavigationViewContoller.xib 文件 , 點擊 打開它 。咱們發現 該 xib 視圖文件中是空的 ,不用擔憂 咱們拖一個Navigation Contoller組件進去,此視圖將做爲咱們的根視圖控制器,它在堆棧最底層的。

如圖 :

 

2:和委託器創建鏈接。即便用委託器來管理咱們的 NavigationController 在上圖界面下打開 助理編輯器,把 NavigationController 組件以輸出口(IBOutlet)的方式鏈接到 委託器的.h 文件中去。如圖:

 

 上圖中 紅色 框框標示的部分爲 創建鏈接後的 輸出口。 並在委託器的 .m 文件中 生成相應的聲明管理方法。

3: 打開咱們的委託器。(這裏爲:NavAppDelegate.m)初始化 NavigationController 對象,並添加到委託中的view 中,這時 NavigationController 對象成爲咱們的根視圖控制器對象了。  代碼以下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    [[NSBundle mainBundle]loadNibNamed:@"NavigationViewContoller" owner:self options:nil];

    [self.window addSubview:self.naviGationController.view];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}
 上面代碼中,藍色代碼部分 爲核心代碼 。

啓動咱們的 模擬器, 運行程序,就能夠看到咱們的 NavigationController視圖界面了。

細心的童鞋 發現 怎麼咱們的NavigationController 的 頭部沒有標題呢。 呵呵是的,咱們還沒設置標題了 ,打開xib視圖界面,依次展開左側Objects欄目中的 NavigationController 選中 Navigation ltem 對象,打開咱們的屬性檢查器,就會看到咱們的 title 屬性了(以下圖), 設置它就能夠看到 NavigationController 的頭部標題了, 趕快去試試吧。

 

 

接着 咱們來試試多視圖跳轉。 咱們須要在建立一個 視圖 controller ,  選中Xcode中的項目目錄 右鍵 -》 new file  -》Cocoa Touch -》Objective -C class 建立一個 帶xib的controller 這裏命名爲 :NavTwoViewController 繼承至 UIViewController 並選中 With XIB for user interface 複選框 建立。

打開 NavTwoViewControlle,xib 文件,在這個文件咱們只須要放個 label 來標示爲第二個視圖界面便可

保存並關閉。

繼續打開咱們NavigationViewContoller.xib 視圖界面  爲咱們的視圖界面拖放一個Button按鈕。並給它設置個title屬性,一樣點開屬性檢查器,在屬性檢查器,有title 屬性,這個按鈕的做用是 ,點擊它 跳到咱們剛剛建立的 view

拖放好button 後 須要爲 改鏈接建立一個 動做鏈接, 還在在這個視圖界面下,打開助理編輯器,把這個button 以Action 方式鏈接到 委託器的 頭文件中,注意:Connect: 須要選擇爲Action 以下圖 :

 

 

上圖中爲 鏈接後成功後的界面, 此時在委託器的.m 文件中也會爲咱們生成這個方法,咱們實現這個方法,來實現跳轉 。代碼以下 :

- (IBAction)gotoView:(id)sender {
    NavTwoViewController *root=[[NavTwoViewController alloc]initWithNibName:@"NavTwoViewController" bundle:nil];
    root.title=@"two view";
    [self.naviGationController pushViewController:root animated:YES];
}

要在 委託器類(NavAppDelegate.m)中使用 NavTwoViewController 對象 還須要在 委託器的 開始引入這個類,代碼以下(藍色部分):

#import "NavAppDelegate.h"
#import "NavTwoViewController.h"
@implementation NavAppDelegate

保存 運行 便可 , root.title=@"two view"; 爲第二個界面設置 導航title

×××地址 :

https://blog.51cto.com/ext/down_att.php?aid=36077&code=1352

相關文章
相關標籤/搜索