導航控制器

1.RootViewController *rootVC=[[RootViewController alloc]init];   創建視圖控制器
UINavigationController *navigation=[[UINavigationController alloc]initWithRootViewController:rootVC];    導航控制器加載視圖控制器
self.window.rootViewController=navigation;  window的根控制器爲導航控制器




2.UINavigationController——>ViewController——>UIView
繼續封裝的問題  功能更加強大
20狀態欄 44導航欄




3.導航欄操作就是個棧操作  顯示最頂層的視圖控制器


跳轉到指定控制器,刪除後面所有控制器 ,銷燬




4.狀態欄的標題
self.title=[NSString stringWithFormat:@"第%d頁",self.navigationController.viewControllers.count];






5.self.UINavigationController.UINavigationBar.BarStyle  導航欄 
self.UINavigationItem.rightBarButtonItem   導航項(左邊leftBarButtonItem 右邊rightBarButtonItem 中間title、titleView)
self.toolbarItems 是自己的屬性self.toolbarItems = @[item1,itemspace,item2,itemspace,item3];
self.navigation.toolbarHidden 只有一個
6.總結
一個導航控制器包含一個導航欄UINavigationBar
一個子控制器對應一個導航項UINavigationItem
UINavigationBar管理一系列UINavigationItem,每個UINavigationItem和一個子控制器
UINavigationItem控制器多個UIBarButtonItem(2個)
子控制器就是ViewController  只能設置自己方面的屬性
總共只有一個導航器,設置了所有的自控制器都改變  設置UINavigationBar一定要拿到UINavigationController




7.main-->AppDelegate-->ViewController
- (BOOL)application:(UIApplication *)application 
- (void)viewDidLoad






8.setBackgroundImage:  背景
setImage  按鈕區域 想顯示文字的話只能設置setBackgroundImage 
圖片顏色不能拉伸




9.導航項的創建
(1).導航項的一種創建方式
[UIBarButtonItem *UIBarButtonItemA=[UIBarButtonItem alloc]initWithView:UIButton];
self.NavigationItem.leftBarButtonItems=@[UIBarButtonItemA,UIBarButtonItemB];


(2).導航項的另一種創建方式
[leftView addSubview:leftButton1];
[leftView addSubview:leftButton2];
self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithCustomView:leftView];


9.數組
 NSArray *images=@[@"20120618100.jpg",@"20120618101.jpg"];


10.視圖的切換
 模態視圖 [self presentViewController:photoVC animated:YES completion:nil];
 導航控制器 [self.navigationController pushViewController:photoVC animated:YES];


11.傳值問題   先把對方屬性創立 並賦值即行
代理 傳值時下一圖的代理是上一圖  下一圖的功能由代理實現


self.vieImage.image  要用setImage 方法纔有屬性




12.toolbar 和 bar的隱藏與顯示
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden];
    [self.navigationController setToolbarHidden:!self.navigationController.toolbarHidden animated:YES];


13.導航控制器的委託方法UINavigationControllerDelegate,通過代理監聽代理控制器的切換


14.UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"溫馨提示" message:@"只要是視圖就可以添加到" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];
    alertView.frame=CGRectMake(0, 300, 320, 180);
    [alertView show];
    [alertView release];


15.UIActionSheet *actionSheet=[[UIActionSheet alloc]initWithTitle:@"恭喜" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"你又成功了一步" otherButtonTitles:@"你可以試試自己的圖片", nil];
    [actionSheet showInView:self.view];
    [actionSheet release];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章