cari

Rumah  >  Soal Jawab  >  teks badan

animasi ios gagal selepas menggunakan susun atur kekangan

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

为情所困为情所困2786 hari yang lalu530

membalas semua(1)saya akan balas

  • 黄舟

    黄舟2017-05-02 09:36:40

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

    balas
    0
  • Batalbalas