【发布时间】:2018-02-06 07:41:39
【问题描述】:
好的,我已经查看了https://developer.apple.com/videos/play/wwdc2013/218/ 和 SO 问题,类似地尝试使用标签栏控制器及其视图控制器进行自定义转换,但在弄清楚这里的主要步骤后我陷入了困惑。
我需要知道如何(意味着示例代码将非常有用)调用自定义 UIView.transition 或在 UIView.transition 中自定义 option。我需要使用它在标签栏控制器中的标签之间进行滑动/模态模拟转换。
我可以进行转换的唯一方法是使用以下函数(这会使它们解散):
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if selectedViewController == nil || viewController == selectedViewController {
return false
}
let fromView = selectedViewController!.view
let toView = viewController.view
UIView.transition(from: fromView!, to: toView!, duration: 0.3, options: [.transitionCrossDissolve], completion: nil)
return true
}
在这里手动调用它,我以编程方式为我的标签控制器更改*selectedIndex*:
//SWITCHES BUTTON -------------------------------------------
func switchTab(index: Int)
{
//transition
self.tabBarController(self, shouldSelect: (viewControllers?[index])!)
我已阅读并尝试创建一个自定义类 UIViewControllerAnimatedTransitioning,但不知道这将如何以编程方式融入此处 -
我尝试将我的标签栏控制器和toView 和fromView 传递到自定义类导致没有任何事情发生/动画。这就是我在这里使用 UIView.transition 的原因。
如何自定义UIView.transition?我可以在这里做什么?
【问题讨论】:
标签: ios swift swift3 uiview uiviewanimationtransition