多視圖應用程式
标簽欄:UITabBarController
多視圖都要有根控制器來控制每個視圖的切換。當然也可以用一個控制器控制多個UIView的切換。如自動旋轉裡介紹的。
通常根控制器為UITabBarController或UINavigationController 或UIViewController的自定義子類。
根控制器位于MainWindow.xib中建立。
根控制器需要有.h .m檔案,控制視圖。
根控制器需要在Delegate.h中聲明輸出口,
且[window addSubView:tabbarController.view];
在IB中的屬性框中選擇正确的Class,mainwindow.xib的Delegate按control連到根控制器。
根控制器需要其他視圖的nib,是以
subController* a=[[subController alloc]initWithNibName:@"sub" bundle:nil];
self.sub=subController;
[self.view insertSubView:subController.view atIndex:0];//0表示插入視圖的最内部。
如果 self.sub==nil則說明還未導入,如果self.sub.view.superView==Nil則說明該視圖不可見。
[sub.view removeFromSuperview];//去除sub視圖。
切換視圖的動畫效果:
[UIView beginAnimation:@"a" context:nil];
[UIView setAnimationDuration:time];
[UIView setAnimationCurve:UIViewAnimationCurveEastInOut];//展現逼真效果
[UIView setAnimationTransition:
UIViewAnimationTransitionFlipFromRight/
UIViewAnimationTransitionFlipFromLeft/
UIViewAnimationTransitionCurlUp/
UIViewAnimationTransitionCurlDown
forView:self.view cache:YES];
以下是翻頁過程,必須要有。
[subController1 viewWillAppear:YES];
[subController2 viewWillDisappear:YES];
[subController2.view removeFromSuperview];
[subController2 viewDidDisappear:YES];
[subController1 viewDidAppear:YES];