目前我尝试使用自定义segue,它应该是:
[目的地视图]应该在[源视图]后面,这个[源视图]应该从100%下调到0.1%然后移除,在动画时间[目的地视图]也应该在后台。
因此,您会看到[源视图]在[目标视图]前面变小并被删除。
这是我的代码:
import UIKit
class CustomSegueFromBigtoSmall: UIStoryboardSegue {
override func perform() {
let sourceVC = self.sourceViewController
let destinationVC = self.destinationViewController
sourceVC.view.addSubview(destinationVC.view)
UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animations: { () -> Void in
sourceVC.view.transform = CGAffineTransformMakeScale(0.1, 0.1)
}){ (finished) -> Void in
destinationVC.view.removeFromSuperview()
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(0.001 * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue(), { () -> Void in
sourceVC.presentViewController(destinationVC, animated: false, completion: nil)
})
}
}
}
现在我看到我的[源视图],立即成为我的[目的地视图]。
[目标视图]在黑色背景前变小。一旦它“小”,它就会显示为全屏。
答案 0 :(得分:0)
我在iOS 9中这样做的方法是使用自定义segue实现进行演示(模态)segue。然后,您的自定义segue只需调用enumerable
即可进行实际演示。但首先,segue将自己设置为目的地Account& Account::operator=(char *string){
for (int i; i < 10; i++) {
cout << i;
}
return (*this);
}
,并将其展示风格设置为super.perform()
。现在,您只需要使用自己的转换委托和自己的UIPresentationController进行普通的自定义过渡动画,并且可以按顺序执行任何操作。