Ios 如何使选项卡栏自定义动画仅针对某个视图控制器出现?
我有一个选择选项卡时的自定义动画,但我希望该动画仅在单击某个选项卡时出现。我猜这与Ios 如何使选项卡栏自定义动画仅针对某个视图控制器出现?,ios,swift,Ios,Swift,我有一个选择选项卡时的自定义动画,但我希望该动画仅在单击某个选项卡时出现。我猜这与toView的实例化有关。错误 这是视图控制器代码 override func viewDidLoad() { super.viewDidLoad() let animatedTransitioningObject = TransitioningObject() animatedTransitioningObject.animateTransition(UIViewControllerCo
toView
的实例化有关。错误
这是视图控制器代码
override func viewDidLoad() {
super.viewDidLoad()
let animatedTransitioningObject = TransitioningObject()
animatedTransitioningObject.animateTransition(UIViewControllerContextTransitionin) //I get an error here
// Do any additional setup after loading the view.
}
-(void)animateTransfion:(id)transitionContext
{
UIViewController*toViewController=[transitionContext ViewControllerWorky:UITransitionContextToViewControllerKey];
UIViewController*fromViewController=[transitionContext ViewControllerWorky:UITransitionContextFromViewControllerKey];
[[transitionContext containerView]添加子视图:toViewController.view];
toViewController.view.alpha=0;
[UIView animateWithDuration:[self-transitionDuration:transitionContext]动画:^{
fromViewController.view.transform=CGAffineTransformMakeScale(0.1,0.1);
toViewController.view.alpha=1;
}完成:^(布尔完成){
fromViewController.view.transform=CGAffineTransformity;
[transitionContext completeTransition:![transitionContext transitionWasCancelled];
}];
}
是动画函数的外观
另外,如果你想要一个为你做这件事的豆荚,我建议你看看这个豆荚
override func viewDidLoad() {
super.viewDidLoad()
let animatedTransitioningObject = TransitioningObject()
animatedTransitioningObject.animateTransition(UIViewControllerContextTransitionin) //I get an error here
// Do any additional setup after loading the view.
}
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
[[transitionContext containerView] addSubview:toViewController.view];
toViewController.view.alpha = 0;
[UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{
fromViewController.view.transform = CGAffineTransformMakeScale(0.1, 0.1);
toViewController.view.alpha = 1;
} completion:^(BOOL finished) {
fromViewController.view.transform = CGAffineTransformIdentity;
[transitionContext completeTransition:![transitionContext transitionWasCancelled]];
}];