UIStoryBoard和UIPageViewController和initWithTransitionStyle

问题描述:

我很困惑如何使用故事板和自定义initaliziers。UIStoryBoard和UIPageViewController和initWithTransitionStyle

我需要在UIPageViewController上调用initWithTransitionStyle。

但是,如果故事板为我创建UIPageViewController,该怎么办?

从调试,我可以看到,我的UIPageViewController上调用initWithCoder。

+0

请停止在标题写标签。 –

根据该文件,只有一个过渡的风格:

过渡样式

样式的翻页过渡。

enum { 
    UIPageViewControllerTransitionStylePageCurl = 0 
}; 
typedef NSInteger UIPageViewControllerTransitionStyle; 

常量

UIPageViewControllerTransitionStylePageCurl 

页面卷曲的过渡风格。 当指定页面卷曲转换样式时,页面视图控制器在视图控制器之间转换时显示翻页动画。如果指定了数据源,则在导航手势期间,动画会跟随用户的手指。 Available in iOS 5.0及更高。 在UIPageViewController.h中声明。

当他们介绍别人时,我希望你能够在界面构建器中定义它们。

如果您正在使用故事板(又名,将UIPageViewController拖放到故事板上),它已经被初始化,所以我不确定为什么需要初始化它。

如果您只想更改过渡样式,导航方向,页面间距等,这些都是属性检查器选项卡中的所有选项。

SecondViewController* bvc = [[SecondViewController alloc] init]; 

[UIView transitionWithView:self.view.window 
        duration:1.0f 
        options:UIViewAnimationOptionTransitionCurlUp 
       animations:^{ 
        [self.navigationController pushViewController:bvc animated:NO]; 
       } 
       completion:NULL]; 

[self.navigationController pushViewController:bvc animated:YES]; 

我发现这个问题的解决方案: 这里有云:在appdelegate.m文件

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    // Override point for customization after application launch. 
    CountBookViewController *bc = [[CountBookViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; 
    [bc awakeFromNib]; 

    self.window.rootViewController = bc; 
    [self.window makeKeyAndVisible]; 
    return YES; 
}