Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使选项卡栏自定义动画仅针对某个视图控制器出现?_Ios_Swift - Fatal编程技术网

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]];

}];