ios – animationControllerForPresentedController未调用

ios – animationControllerForPresentedController未调用,第1张

概述我正在尝试创建一个自定义动画来转换像新钱包应用程序中的控制器. 我有一个像这样的ViewController: @interface ViewController () <UIViewControllerTransitioningDelegate>@property (nonatomic, strong) UILabel *testLabel;@property (nonatomic, str 我正在尝试创建一个自定义动画来转换像新钱包应用程序中的控制器.

我有一个像这样的VIEwController:

@interface VIEwController () <UIVIEwControllerTransitioningDelegate>@property (nonatomic,strong) UILabel *testLabel;@property (nonatomic,strong) UIbutton *button;@end@implementation VIEwController- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    self.vIEw.backgroundcolor = [UIcolor whitecolor];    self.TransitioningDelegate = self;    _testLabel = [[UILabel alloc] init];    _testLabel.text = @"VIEw 1";    [self.vIEw addSubvIEw:_testLabel];    [_testLabel mas_makeConstraints:^(MASConstraintMaker *make) {        make.wIDth.equalTo(self.vIEw);        make.height.equalTo(@50);        make.centerX.equalTo(self.vIEw);        make.top.equalTo(self.mas_topLayoutGuIDe);    }];    _button = [[UIbutton alloc] init];    [_button addTarget:self action:@selector(push)forControlEvents:UIControlEventtouchUpInsIDe];    [_button setTitlecolor:[UIcolor redcolor] forState:UIControlStatenormal];    [_button setTitle:@"Show VIEw" forState:UIControlStatenormal];    [self.vIEw addSubvIEw:_button];    [_button mas_makeConstraints:^(MASConstraintMaker *make) {        make.center.equalTo(self.vIEw);        make.wIDth.and.height.equalTo(@50);    }];}- (voID)push {    NSLog(@"Push controller");    BackVIEwController *vc = [[BackVIEwController alloc] init];    [self.navigationController presentVIEwController:vc animated:YES completion:nil];}-(ID<UIVIEwControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIVIEwController *)presented presentingController:(UIVIEwController *)presenting sourceController:(UIVIEwController *)source {    TurnAnimationController *an = [[TurnAnimationController alloc] init];    an.flipDirection = CEDirectionHorizontal;    return an;}

永远不会调用animationControllerForPresentedController方法,因此我的动画永远不会被执行.我没有看到问题?我正在将TransitioningDelegate设置为自我?

有人有想法吗?

解决方法 而不是将自己设置为委托

self.TransitioningDelegate = self;

像你的情况一样,将新呈现的vIEwcontroller的TransitioningDelegate设置为self

BackVIEwController *vc = [[BackVIEwController alloc] init]; vc.TransitioningDelegate = self;

总结

以上是内存溢出为你收集整理的ios – animationControllerForPresentedController未调用全部内容,希望文章能够帮你解决ios – animationControllerForPresentedController未调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1005081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存