導航控制器的使用

1.創建導航控制器

        UINavigationController *nav = [UINavgationController alloc] init];

2.創建控制器添加到導航控制器中

        1)OneViewController *one = [OneViewControler alloc] init];

          [nav pushViewController: one animated:YES];//法1

        2)[nav addChildController: one];//法2

        3)nav.viewControllers = @[one];//法3

        注意:nav.childViewControllers = @[one];//錯誤,原因:childViewControllers屬性readonly

        4)UINavigationController *nav = [[UINavgationController alloc] initWithRootViewController: one];//法4

3.獲取控制器的棧

        nav.viewControllers;

        nav.childViewController;

4.獲取棧頂控制器

        nav.topViewController;

5.導航欄(navigationBar)

        1)一個導航控制器只有一個導航條

        2)導航條上顯示的內容和棧頂的控制器有關,因此,其內容由棧頂的控制器確定

        3)控制導航條的內容:

              3.1)self.navigtionItem.title = @"This is title";//設置標題

              3.2)self.navigtionItem.titleView;   //

              3.3)self.navigtionItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWith...]; //添加barbutton

              3.4)self.navigtionItem.rightBarButtonItems = @[barButton1,barButton2];//添加多個barButton

             

        4)導航控制器的“返回按鈕”

              4.1)返回按鈕顯示的內容由上一個控制器控制

                     self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];


6.移除當前棧頂控制器

        [self.navigationController popViewController popViewControllerAnimated:YES];

7.返回根控制器

        [self.navigationController popRootViewControllerAnimates:YES];

8.返回指定控制器

        [self.navigationController popToViewController:(UIViewController *) animated:(BOOL)];


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章