首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式将UIPageViewController过渡样式设置为滚动

以编程方式将UIPageViewController过渡样式设置为滚动
EN

Stack Overflow用户
提问于 2014-07-04 23:26:56
回答 12查看 51K关注 0票数 37

我正在使用Xcode6并为我的应用程序实现UIPageViewController。我关注了appcoda's tutorial,除了页面指示器之外,所有东西都可以正常工作。这是因为我无法将UIPageViewController的过渡样式设置为滚动。

以图形方式,当我单击PageViewController时,选项卡显示View Controller,而不是像appcoda那样的Page View Controller (见下图)

我的是这样的:

是的,我的自定义类被设置为:UIPageViewController,就像在教程中一样。

在编程上,我尝试使用以下命令设置转换样式:

代码语言:javascript
复制
    self.pageViewController.transitionStyle = UIPageViewControllerTransitionStyle.Scroll

但它无法构建,告诉我它找不到成员转换样式。我想指出的最后一件奇怪的事情是,如果我只编写self.pageViewController.transitionStyle,它会成功构建,但它仍然使用Page Curl转换。

有人能帮帮我吗?我正在使用Swift,Xcode6,并在iOS 8SDK上进行开发。

EN

回答 12

Stack Overflow用户

发布于 2014-07-04 23:33:28

你会得到一个错误,因为transitionStyle是一个只读属性。如果要以编程方式设置页面控制器的过渡样式,则只能在使用以下方法进行初始化期间完成:

代码语言:javascript
复制
init(transitionStyle style: UIPageViewControllerTransitionStyle, navigationOrientation navigationOrientation: UIPageViewControllerNavigationOrientation, options options: [NSObject : AnyObject]!) { ... }

有关更多信息,请访问the documentation

票数 41
EN

Stack Overflow用户

发布于 2016-11-24 01:47:59

问题是,当您在容器中创建UIPageViewController时,容器首先是使用UIViewController创建的,这就是您看到的控制器选项。

为了修复它,你必须在你设置自定义UIPageViewController的地方删除UIViewController。然后从控件选择器拖动UIPageViewController并将嵌入段从容器连接到控制器,然后您可以设置自定义寻呼机控制器以及将过渡设置为滚动。

票数 40
EN

Stack Overflow用户

发布于 2016-12-05 19:24:48

在ios 8 swift3中

代码语言:javascript
复制
override init(transitionStyle style: UIPageViewControllerTransitionStyle, navigationOrientation: UIPageViewControllerNavigationOrientation, options: [String : Any]? = nil) {
        super.init(transitionStyle: .scroll, navigationOrientation: .horizontal, options: options)
    }

    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24577403

复制
相关文章

相似问题

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