测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | MIT |
发布最后发布 | 2016年6月 |
SPM支持 SPM | ✗ |
由 Adam Szeremeta 维护。
扩展了 UIPageViewController 并实现了背景颜色淡入淡出
推荐的方式是使用 CococaPods。
use_frameworks!
pod 'TweeningUIPageViewController', '~> 1.0.0'
如果由于某些原因您不能使用 CocoaPods,那么请从 TweeningUIPageViewController/
中获取文件并将它们放入您的项目中。
将 UIPageViewController 的现有实现添加或替换为 TweeningPageViewController
并实现 TweeningPageViewControllerDelegate
协议。以下您可以找到一些代码片段。您还可以查看完整的示例项目。
设置 TweeningPageViewControllerDelegate
let pageController = ... (reference to your TweeningPageViewController instance)
pageController.tweeningDelegate = self
实现 TweeningPageViewControllerDelegate
的必需方法
// MARK: TweeningUIPageViewControllerDelegate
func tweeningPageViewController(tweeningController:TweeningPageViewController, backgroundColorForControllerBeforeController viewController:UIViewController?) -> UIColor? {
if let pageController = viewController as? MyPageViewController {
let previousIndex = pageController.controllerIndex - 1
if previousIndex >= 0 && previousIndex < self.backgroundColors.count {
return self.backgroundColors[previousIndex]
}
}
return nil
}
func tweeningPageViewController(tweeningController:TweeningPageViewController, backgroundColorForCurrentController viewController:UIViewController?) -> UIColor? {
if let pageController = viewController as? MyPageViewController {
return self.backgroundColors[pageController.controllerIndex]
}
return nil
}
func tweeningPageViewController(tweeningController:TweeningPageViewController, backgroundColorForControllerAfterController viewController:UIViewController?) -> UIColor? {
if let pageController = viewController as? MyPageViewController {
let nextIndex = pageController.controllerIndex + 1
if nextIndex >= 0 && nextIndex < self.backgroundColors.count {
return self.backgroundColors[nextIndex]
}
}
return nil
}
TweeningUIPageViewController
使用 MIT 许可证发布。