UIStoryBoard 和 UIPageViewController 和 initWithTransitionStyle

Posted

技术标签:

【中文标题】UIStoryBoard 和 UIPageViewController 和 initWithTransitionStyle【英文标题】:UIStoryBoard und UIPageViewController and initWithTransitionStyle 【发布时间】:2011-11-13 17:55:58 【问题描述】:

我对如何使用故事板和自定义首字母感到困惑。

我需要在 UIPageViewController 上调用 initWithTransitionStyle。

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

通过调试,我可以看到在我的 UIPageViewController 上调用了 initWithCoder。

【问题讨论】:

请停止在标题中写标签。 【参考方案1】:

根据文档,只有一种过渡样式:

过渡样式

翻页过渡的样式。

enum 
    UIPageViewControllerTransitionStylePageCurl = 0
;
typedef NSInteger UIPageViewControllerTransitionStyle;

常量

UIPageViewControllerTransitionStylePageCurl

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

当他们介绍其他人时,我希望您能够在界面生成器中定义他们。

【讨论】:

【参考方案2】:

如果您正在使用情节提要(也就是将 UIPageViewController 放到情节提要上),它已经初始化,所以我不确定您为什么需要初始化它。

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

【讨论】:

【参考方案3】:
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];

【讨论】:

【参考方案4】:

我找到了问题的解决方案: 在这里:在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;

【讨论】:

以上是关于UIStoryBoard 和 UIPageViewController 和 initWithTransitionStyle的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 比 UIPageView 内的屏幕大

如何最好地将使用一个 UIViewController 将所有页面作为 UIView 处理为 StoryBoarding 和 UIPageView 的图书应用程序转换?

将 UIPageView 添加为屏幕的一部分

在 UITableView 下方的 UIPageView 上检测滑动事件

UIPageView 容器中的大小类变化为未指定

UIPageView UIWebView 预取