本人對(duì)此封裝了一個(gè)小框架.大家有需要可以直接拿來(lái)用.
快速集成普通的新特性頁(yè)面##
利用collectionView
實(shí)現(xiàn),每一個(gè)頁(yè)面就是一個(gè)cell。利用了cell重用機(jī)制性能會(huì)比scrollView
更好徙歼。
快速集成翻頁(yè)效果的新特性頁(yè)面##
用UIPageViewController
來(lái)實(shí)現(xiàn),具體效果可看下圖

先簡(jiǎn)單介紹一下UIPageViewController##
1.首先創(chuàng)建UIPageViewController
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
2.指定數(shù)據(jù)代理
self.pageViewController.dataSource = self.modelController;
3.必須實(shí)現(xiàn)的兩個(gè)數(shù)據(jù)源方法
// 往前翻頁(yè)
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
// 往后翻頁(yè)
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
安裝#
CocoaPods
- 在 Podfile 中添加 pod "JCNewFeatureVC"闽铐。
- 執(zhí)行 pod install 或 pod update疏橄。
- 導(dǎo)入 <JCNewFeatureNormalVC.h> 或者 <JCNewFeaturePagingVC.h>
如何使用#
在AppDelegate中的- (BOOL)application:didFinishLaunchingWithOptions:
方法中
BOOL needShow = [JCNewFeatureNormalVC needShowNewFeature];// 根據(jù)程序是否第一次運(yùn)行來(lái)顯示新特性頁(yè)面
if(needShow){
// 先創(chuàng)建好需要展示的新特性圖片
UIImage *image1 = [UIImage imageNamed:@"image1"];
UIImage *image2 = [UIImage imageNamed:@"image2"];
下面的代碼放在這里??
}
普通效果初始化方法1
傳入需要展示的圖片占拍,最后一頁(yè)用controller來(lái)管理
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *vc = [sb instantiateInitialViewController];
JCNewFeatureNormalVC *newContr =[JCNewFeatureNormalVC newFeatureWithImages:@[image1,image2] andLastVC:vc];
self.window.rootViewController = newContr;
- 初始化控制器放入新特性頁(yè)面的圖片
- 因?yàn)橥ǔT谛绿匦宰詈笠粡垐D片會(huì)有點(diǎn)擊按鈕,所以最后一個(gè)頁(yè)面?zhèn)魅胍粋€(gè)控制器進(jìn)行點(diǎn)擊等事件處理
普通效果初始化方法2
只需傳入需要展示的圖片
JCNewFeatureNormalVC *newContr =[JCNewFeatureNormalVC newFeatureWithImages:@[page1,page2,page3] enterBlock:^{
NSLog(@"enter");
[self enterHomeVC];
}];
self.window.rootViewController = newContr;
- 點(diǎn)擊最后一張圖片的block回調(diào)
普通效果初始化方法3
傳入每一頁(yè)對(duì)應(yīng)的控制器
UIViewController *oneVC = [[UIViewController alloc] init];
oneVC.view.backgroundColor = [UIColor orangeColor];
UIViewController *twoVC = [[UIViewController alloc] init];
twoVC.view.backgroundColor = [UIColor blueColor];
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *threeVC = [sb instantiateInitialViewController];
window.rootViewController = [JCNewFeatureNormalVC newFeatureWithControllers:@[oneVC,twoVC,threeVC]];
- 每一個(gè)頁(yè)面都是由一個(gè)控制器管理捎迫,高度自定義每一個(gè)頁(yè)面
如果想換成gif中的翻頁(yè)效果晃酒,只需要把上面方法中的JCNewFeatureNormalVC
換成 JCNewFeaturePagingVC
代碼在這里