天天看點

多視圖程式基礎

多視圖應用程式

标簽欄: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];

繼續閱讀