2017-01-30 2 views
2

У меня есть изображение, если кнопка click talk tom cat будет воспроизводиться с анимациейRepeatCount: 2, после этого я хочу скрыть представление изображения. Как скрыть это изображение?Как скрыть представление изображения в ios?

- (IBAction)catBlinkButton:(UIButton *)sender { 
    self.imageView.hidden = NO; 
    self.imageView.animationDuration = 2; 
    self.imageView.animationRepeatCount = 2; 
    self.imageView.animationImages = [[NSArray alloc]initWithObjects: 
             [UIImage imageNamed:@"cat_blink0000.png"], 
             [UIImage imageNamed:@"cat_blink0001.png"], 
             [UIImage imageNamed:@"cat_blink0002.png"], 
             nil]; 

    [self.imageView startAnimating]; 

} 

Это мой код ...

+0

использование imageview.hidden = да – karthikeyan

+0

г-н Картикеян, где я должен написать этот код .. –

+0

написать этот код в последней строке self.imageView.hidden = YES; – iOS

ответ

10

Вы можете просто использовать CATransaction как:

self.imageView.hidden = NO; 

[CATransaction begin]; 

[CATransaction setCompletionBlock:^{ 

    self.imageView.hidden = YES; 

}]; 

self.imageView.animationDuration = 2; 
self.imageView.animationRepeatCount = 2; 
self.imageView.animationImages = [[NSArray alloc]initWithObjects: 
            [UIImage imageNamed:@"cat_blink0000.png"], 
            [UIImage imageNamed:@"cat_blink0001.png"], 
            [UIImage imageNamed:@"cat_blink0002.png"], 
            nil]; 

[self.imageView startAnimating]; 

[CATransaction commit]; 

CATransaction будет динамически ждать анимации, чтобы закончить ...

+1

Это действительно хороший способ сделать это. (y) – viral

+0

Да, это работает .... Спасибо u –

+0

Рад помочь. :) – 0yeoj

1

Вы можете сделать это со скрытым свойством UIView в. imageView.hidden = true;

+0

именно там, где мне нужно написать этот код –

1
- (IBAction)catBlinkButton:(UIButton *)sender { 
self.imageView.hidden = NO; 
self.imageView.animationDuration = 2; 
self.imageView.animationRepeatCount = 2; 
self.imageView.animationImages = [[NSArray alloc]initWithObjects: 
           [UIImage imageNamed:@"cat_blink0000.png"], 
           [UIImage imageNamed:@"cat_blink0001.png"], 
           [UIImage imageNamed:@"cat_blink0002.png"], 
           nil]; 

[self.imageView startAnimating]; 
} 
+0

уже я tride this код, если я пишу так, это не оживление ..... почему? –

+0

Dishant Rajput, моя прога совершенно не оживляющая, если я пишу код вроде этого –

+0

Ваш код отлично работает в моем проекте. –

2

Вы можете выполнить код после шифера на главном потоке.

- (IBAction)catBlinkButton:(UIButton *)sender { 

    self.imageView.hidden = NO; 
    self.imageView.animationDuration = 2; 
    self.imageView.animationRepeatCount = 2; 
    self.imageView.animationImages = [[NSArray alloc]initWithObjects: 
             [UIImage imageNamed:@"cat_blink0000.png"], 
             [UIImage imageNamed:@"cat_blink0001.png"], 
             [UIImage imageNamed:@"cat_blink0002.png"], 
             nil]; 

    [self.imageView startAnimating]; 

    // after 2 seconds. 
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 

     // hide imageview 
     self.imageView.hidden = YES; 
    }); 
} 
+0

Да, это работает, но анимация играет только один раз. –

+0

вы можете отправить код, как воспроизводить несколько аудио (MP3) песен в AVPlayerViewController .... –

Смежные вопросы