- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试创建自定义动画来像在新钱包应用程序中一样转动 Controller 。
我有一个像这样的 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?
有什么想法吗?
最佳答案
调用 animationControllerForPresentedController
的另一个要求是将 true
作为 presentViewController:animated:completion
中的 animated
参数传递>
如果你打电话
presentViewController(myVC,动画:假,完成:无)
那么即使您设置了 transitioningDelegate
,也不会调用 animationControllerForPresentedController
。
关于ios - 未调用 animationControllerForPresentedController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32843876/
我正在尝试创建自定义动画来像在新钱包应用程序中一样转动 Controller 。 我有一个像这样的 ViewController: @interface ViewController () @pro
我的目标是让流畅的动画在第一个 View Controller 中开始并在第二个 View Controller 中结束。 我正在使用符合 UIViewControllerAnimatedTransi
当从 tableView 触发动画时,我遇到了一个使用 UIViewControllerContextTransitioning 的自定义转换的恼人问题 我遵循了许多教程,仅举几例: - http:/
我是一名优秀的程序员,十分优秀!