http://www.kyleduo.com/?p=278
Viewcontroller, Pageviewcontroller, pagecontentviewcontrollers
A viewcontroller adds a Pageviewcontroller
[Viewcontroller Addchildviewcontroller:_pageviewcontroller];
One pageviewcontroller add multiple pagecontentviewcontroller[Custom views] for subpage
[_pagecontentviewcontroller Setviewcontrollers:@[a,b,c]];
Tip: Start with a single set and then implement the Protocol method to get Befor,after's Contentviewcontroller
Pageviewcontroller is equivalent to a controller container, adding multiple contentviewcontroller, its own definition, and DataSource defined in the parent Viewcontroller
////VIEWCONTROLLER.M//pageviewtest//#import "ViewController.h"#import "PageContentViewController.h"@interfaceViewcontroller ()@end@implementationViewcontroller- (void) viewdidload {[Super viewdidload]; _pagetitles= @[@"Over-the- Tips and Tricks",@"Discover Hidden Features",@"Bookmark favorite Tip",@"Free Regular Update"]; _pageimages= @[@"Page1.png",@"Page2.png",@"Page3.png",@"Page4.png"]; //Create Page view ControllerSelf.pageviewcontroller = [Self.storyboard instantiateviewcontrollerwithidentifier:@"Pageviewcontroller"]; Self.pageViewController.dataSource=Self ; Pagecontentviewcontroller*startingviewcontroller = [Self Viewcontrolleratindex:0]; Nsarray*viewcontrollers =@[startingviewcontroller]; [Self.pageviewcontroller setviewcontrollers:viewcontrollers Direction: Uipageviewcontrollernavigationdirectionreverse Animated:yes Completion:nil]; Self.pageViewController.view.frame= CGRectMake (0,0, Self.view.frame.size.width, self.view.frame.size.height); [Self addchildviewcontroller:_pageviewcontroller]; [Self.view Addsubview:_pageviewcontroller.view]; [Self.view Bringsubviewtofront:_startagainbutton]; [Self.pageviewcontroller didmovetoparentviewcontroller:self];}-(Ibaction) Startwalkthrough: (ID) Sender {Pagecontentviewcontroller*startingviewcontroller = [Self Viewcontrolleratindex:0]; Nsarray*viewcontrollers =@[startingviewcontroller]; [Self.pageviewcontroller setviewcontrollers:viewcontrollers Direction: Uipageviewcontrollernavigationdirectionreverse animated:no Completion:nil];}-(Uiviewcontroller *) Pageviewcontroller: (Uipageviewcontroller *) Pageviewcontroller Viewcontrollerbeforeviewcontroller: (Uiviewcontroller *) viewcontroller{Nsuinteger index= ((Pagecontentviewcontroller *). Viewcontroller). PageIndex; if(Index = =0) || (Index = =nsnotfound)) { returnNil; } Index-=1; return[self viewcontrolleratindex:index];}-(Uiviewcontroller *) Pageviewcontroller: (Uipageviewcontroller *) Pageviewcontroller Viewcontrollerafterviewcontroller: (Uiviewcontroller *) viewcontroller{Nsuinteger index= ((Pagecontentviewcontroller *). Viewcontroller). PageIndex; if(Index = =nsnotfound) { returnNil; } Index+=1; if(Index = =[Self.pagetitles Count]) { returnNil; } return[self viewcontrolleratindex:index];}-(Pagecontentviewcontroller *) Viewcontrolleratindex: (Nsuinteger) index{if([self.pagetitles count] = =0) || (Index >=[Self.pagetitles Count])) { returnNil; } Pagecontentviewcontroller*pagecontentviewcontroller = [Self.storyboard instantiateviewcontrollerwithidentifier:@"Pagecontentviewcontroller"]; Pagecontentviewcontroller.imagefile=Self.pageimages[index]; Pagecontentviewcontroller.titletext=Self.pagetitles[index]; Pagecontentviewcontroller.pageindex=index; returnPagecontentviewcontroller;}//The following two methods are implemented to show the page indication of a point. The color difference is set in the Appdelegate. Clicking on the left and right sides of the bottom also flips back and forth. Comment Out is not//-(Nsinteger) Presentationcountforpageviewcontroller: (Uipageviewcontroller *) Pageviewcontroller//{//return [self.pagetitles count];//}////-(Nsinteger) Presentationindexforpageviewcontroller: (Uipageviewcontroller *) Pageviewcontroller//{//return 0;//}@end
////PAGECONTENTVIEWCONTROLLER.M//#import "PageContentViewController.h"@interfacePagecontentviewcontroller ()@end@implementationPagecontentviewcontroller- (void) viewdidload {[Super viewdidload]; [Self.titlelabel SetText:self.titleText]; [Self.view BringSubviewToFront:self.titleLabel]; [Self.backgroundimageview setimage:[uiimage imageNamed:self.imageFile];}- (void) didreceivememorywarning {[Super didreceivememorywarning]; //Dispose of any resources the can be recreated.}/*#pragma mark-navigation//in a storyboard-based application, you'll often want to do a little preparation before n avigation-(void) Prepareforsegue: (Uistoryboardsegue *) Segue Sender: (ID) Sender {//Get the new view controller using [s] Egue Destinationviewcontroller]. Pass the selected object to the new view controller.}*/@end
Csdn have uploaded resources
Uipageviewcontroller Demo Notes