运行这段代码后,动画效果失败
#import "ViewController.h"
#import "Masonry.h"
@interface ViewController ()
@property (nonatomic,strong)UIView *a;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView *a = [[UIView alloc] init];
a.backgroundColor = [UIColor redColor];
[self.view addSubview:a];
self.a = a;
[a mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view);
make.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_bottom);
make.height.equalTo(@100);
}];
UIButton *b = [[UIButton alloc] initWithFrame:CGRectMake(20, 20, 200 , 200)];
b.backgroundColor = [UIColor greenColor];
[self.view addSubview:b];
[b addTarget:self action:@selector(ad) forControlEvents:UIControlEventTouchUpInside];
}
-(void)ad{
[UIView animateWithDuration:2 delay:1 options:UIViewAnimationOptionCurveEaseIn animations:^{
self.a.center = CGPointMake(self.a.center.x, self.a.center.y - 200);
} completion:^(BOOL finished) {
NSLog(@"11111 %@",self.a);
[self.view addSubview:[[UIView alloc] init]];
NSLog(@"12222222 %@",self.a);
}];
}
点击按钮,动画效果会在最后恢复到最初始的位置,是否有人能够简单解答一下,为什么[self.view addSubview:[[UIView alloc] init]]; 会造成这个问题
Apabila anda menggunakan reka letak auto untuk reka letak, jika paparan yang sepadan perlu dianimasikan, anda juga mesti menukar reka letak, bukan bingkai.