gpt4 book ai didi

ios - 使用 UIPageViewController 将 PageCurl 转换为滚动

转载 作者:搜寻专家 更新时间:2023-10-30 22:25:25 24 4
gpt4 key购买 nike

我想在 View 之间更改我的动画。目前我有 PageCurl,但我想要像 Snapchat 这样的滚动动画。

我不能使用 var transitionStyle: UIPageViewControllerTransitionStyle { get }

enter image description here

我的 View Controller :

import UIKit

class ViewController: UIPageViewController, UIPageViewControllerDataSource{

let pageViewController = UIPageViewController(transitionStyle: .Scroll, navigationOrientation: .Horizontal, options: nil)
var messagesViewController : MessagesViewController!
var searchViewController : SearchViewController!
var friendsViewController : FriendsViewController!

override func viewDidLoad() {
super.viewDidLoad()

// set UIPageViewControllerDataSource
self.dataSource = self

// Reference all of the view controllers on the storyboard
self.messagesViewController = self.storyboard?.instantiateViewControllerWithIdentifier("messagesViewController") as? MessagesViewController
self.messagesViewController.title = "Messages"

self.searchViewController = self.storyboard?.instantiateViewControllerWithIdentifier("searchViewController") as? SearchViewController
self.searchViewController.title = "Search"

self.friendsViewController = self.storyboard?.instantiateViewControllerWithIdentifier("friendsViewController") as? FriendsViewController
self.friendsViewController.title = "Friends"

// Set starting view controllers
var startingViewControllers : NSArray = [self.searchViewController]
self.setViewControllers(startingViewControllers, direction: .Forward, animated: false, completion: nil)
}


func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {

switch viewController.title! {
case "Messages":
return nil
case "Search":
return messagesViewController
case "Friends":
return searchViewController
default:
return nil
}
}

// pink green blue

func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {

switch viewController.title! {
case "Messages":
return searchViewController
case "Search":
return friendsViewController
case "Friends":
return nil
default:
return nil

}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

}

最佳答案

来自Apple Docs :

“此属性的值在页面 View Controller 初始化时设置,不能更改。”

您必须在初始化时指定过渡样式。如果您在代码中这样做,您将需要类似的东西:

let pageViewController = ViewController(transitionStyle: .Scroll, navigationOrientation: .Horizontal, options: nil)

(因为 ViewControllerUIPageViewController 的子类)

如果您在 Storyboard中设置页面 View Controller ,请在属性检查器中修改过渡样式:

Image of attributes inspector

关于ios - 使用 UIPageViewController 将 PageCurl 转换为滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28014852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com