在一些应用程序中,它们有一个小的介绍,你可以通过不同的视图控制器,谈论它。例如: Evernote等。这个名字叫什么?关于如何做到这一点有什么好的指导吗?
发布于 2015-04-16 20:05:06
不,没有任何现成的控制器不可用,因为introduction.You需要实现UIScrollView
并创建您的自定义视图并放入该scrollview
中。
下面是介绍屏幕的不同github演示项目的列表。
希望这能帮上忙,
编码愉快。
发布于 2015-04-16 21:34:26
您也可以使用UIPageViewController。
1.创建UIPageViewController实例
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll
navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal
options:nil];
self.pageViewController.frame = self.view.bounds;
2.实现其UIPageViewControllerDataSource协议
self.pageViewController.dataSource = self;
....
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController
{
NSUInteger index = [(PageContentViewController *)viewController pageIndex]; // get any kind of index of the view controller to know its position
// here I subclass UIViewController to hold the index
if (index == 0) {
return nil;
}
// get the previous view controller
return self.pages[--index]; // container of all your pages
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
// do the same as above but get the next view controller or nil if index >= [self.pages count]
}
- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController {
// how many items do we have
return [self.pages count];
}
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController {
// The selected item reflected in the page indicator.
return 0;
}
3.创建页面.
self.pages = [[NSMutableArray alloc] init];
for (NSUInteger i=0; i<10; i++) { // 10 pages
PageContentViewController *page = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController1"]; // you can also do it programmatically
// subclass of UIViewController just to hold its page index and for unified style purpose
page.pageIndex = i;
[self.pages addObject:page];
}
4.显示页面
NSArray *viewControllers = [NSArray arrayWithObject:self.pages[0]];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
5.解雇
[self.pageViewController.view removeFromSuperview];
[self.pageViewController removeFromParentViewController];
当显示页面视图控制器时,要添加一些花哨的动画吗?
CATransition *transition = [CATransition animation];
transition.duration = 0.4;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromTop;
[self.pageViewController.view.layer addAnimation:transition forKey:kCATransition];
https://stackoverflow.com/questions/29689970
复制相似问题