首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用程序的开头介绍

在应用程序的开头介绍
EN

Stack Overflow用户
提问于 2015-04-17 03:53:45
回答 2查看 4K关注 0票数 5

在一些应用程序中,它们有一个小的介绍,你可以通过不同的视图控制器,谈论它。例如: Evernote等。这个名字叫什么?关于如何做到这一点有什么好的指导吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-17 04:05:06

不,没有任何现成的控制器不可用,因为introduction.You需要实现UIScrollView并创建您的自定义视图并放入该scrollview中。

下面是介绍屏幕的不同github演示项目的列表。

  1. 冲浪板
  2. EAIntroView
  3. iPhone-电视导论
  4. GHWalkThrough
  5. AOTutorial
  6. MYBlurIntroductionView
  7. ICETutorial
  8. ABCIntroView
  9. EKWelcomeView

希望这能帮上忙,

编码愉快。

票数 14
EN

Stack Overflow用户

发布于 2015-04-17 05:34:26

您也可以使用UIPageViewController。

1.创建UIPageViewController实例

代码语言:javascript
运行
复制
    self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll 
                                                              navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal 
                                                                            options:nil];
    self.pageViewController.frame = self.view.bounds;

2.实现其UIPageViewControllerDataSource协议

代码语言:javascript
运行
复制
    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.创建页面.

代码语言:javascript
运行
复制
     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.显示页面

代码语言:javascript
运行
复制
     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.解雇

代码语言:javascript
运行
复制
     [self.pageViewController.view removeFromSuperview];
     [self.pageViewController removeFromParentViewController];

当显示页面视图控制器时,要添加一些花哨的动画吗?

代码语言:javascript
运行
复制
     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];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29689970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档