animasi ios gagal selepas menggunakan susun atur kekangan
为情所困
为情所困 2017-05-02 09:34:40
0
1
532

Selepas menjalankan kod ini, kesan animasi gagal

#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);
    }];
}

Klik butang dan kesan animasi akan kembali ke kedudukan asalnya pada penghujung. Bolehkah sesiapa memberikan jawapan mudah mengapa [self.view addSubview:[[UIView alloc] init]] menyebabkan masalah ini

为情所困
为情所困

membalas semua(1)
黄舟

Apabila anda menggunakan reka letak auto untuk reka letak, jika paparan yang sepadan perlu dianimasikan, anda juga mesti menukar reka letak, bukan bingkai.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan