我正在使用Xcode6并为我的应用程序实现UIPageViewController
。我关注了appcoda's tutorial,除了页面指示器之外,所有东西都可以正常工作。这是因为我无法将UIPageViewController
的过渡样式设置为滚动。
以图形方式,当我单击PageViewController
时,选项卡显示View Controller,而不是像appcoda
那样的Page View Controller (见下图)
我的是这样的:
是的,我的自定义类被设置为:UIPageViewController
,就像在教程中一样。
在编程上,我尝试使用以下命令设置转换样式:
self.pageViewController.transitionStyle = UIPageViewControllerTransitionStyle.Scroll
但它无法构建,告诉我它找不到成员转换样式。我想指出的最后一件奇怪的事情是,如果我只编写self.pageViewController.transitionStyle
,它会成功构建,但它仍然使用Page Curl
转换。
有人能帮帮我吗?我正在使用Swift,Xcode6,并在iOS 8SDK上进行开发。
发布于 2014-07-04 23:33:28
你会得到一个错误,因为transitionStyle
是一个只读属性。如果要以编程方式设置页面控制器的过渡样式,则只能在使用以下方法进行初始化期间完成:
init(transitionStyle style: UIPageViewControllerTransitionStyle, navigationOrientation navigationOrientation: UIPageViewControllerNavigationOrientation, options options: [NSObject : AnyObject]!) { ... }
有关更多信息,请访问the documentation。
发布于 2016-11-24 01:47:59
问题是,当您在容器中创建UIPageViewController时,容器首先是使用UIViewController创建的,这就是您看到的控制器选项。
为了修复它,你必须在你设置自定义UIPageViewController的地方删除UIViewController。然后从控件选择器拖动UIPageViewController并将嵌入段从容器连接到控制器,然后您可以设置自定义寻呼机控制器以及将过渡设置为滚动。
发布于 2016-12-05 19:24:48
在ios 8 swift3中
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")
}
https://stackoverflow.com/questions/24577403
复制相似问题