gpt4 book ai didi

ios - 自定义 Storyboard转场

转载 作者:行者123 更新时间:2023-11-29 03:04:40 27 4
gpt4 key购买 nike

我有一个自定义 Storyboard转场动画,但它没有按照我想要的方式显示。我希望它“推开”当前 View Controller 及其旁边的新 View Controller ,而不是“删除” View Controller 。 (不像推送转场,更像是在照片应用程序中滑动照片时看到的效果)。有任何想法吗?谢谢。

- (void)perform {

UIViewController *currentViewController = self.sourceViewController;
UIViewController *newViewController = self.destinationViewController;


[currentViewController.view addSubview:newViewController.view];


newViewController.view.transform = CGAffineTransformMakeScale(0.05, 0.05);


CGPoint originalCenter = newViewController.view.center;

newViewController.view.center = self.originatingPoint;

[UIView animateWithDuration:1.9
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{

newViewController.view.transform = CGAffineTransformMakeScale(1.0, 100.0);
newViewController.view.center = originalCenter;
}
completion:^(BOOL finished){
[newViewController.view removeFromSuperview]; // remove from temp super view
[currentViewController presentViewController:newViewController animated:NO completion:NULL]; // present VC
}];
}

最佳答案

animations:^{
newViewController.view.transform = CGAffineTransformMakeScale(1.0, 100.0);
newViewController.view.center = originalCenter;
}

看起来您没有为当前 View Controller 的 View 设置动画。我也不确定您为什么要设置新 View Controller View 的转换。我希望您的代码看起来像这样:

CGPoint originalCenter = currentViewController.view.center;
CGPoint newCurrentVCCenter = CGPointMake(currentViewController.view.center.x - screenWidth, currentViewController.center.y);
[UIView animateWithDuration:1.9
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
currentViewController.center = newCurrentVCCenter;
newViewController.view.center = originalCenter;
}
completion:^(BOOL finished){
// clean up here
}];

换句话说,您正在移动 currentViewController.viewnewViewController.view,以便当前 View 和新 View 都向左移动相同的量,并且在同一时间。

关于ios - 自定义 Storyboard转场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22920167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com