简体   繁体   English

如何在ios中隐藏图像视图?

[英]How to hide image view in ios?

I have image view, if click button talking tom cat will play with animationRepeatCount:2, after this, I want to hide image view. 我有图像视图,如果单击按钮说话汤姆猫将使用animationRepeatCount:2,此后,我想隐藏图像视图。 How to hide that image view? 如何隐藏图像视图?

    - (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];

}

This is my code... 这是我的代码......

You can simply use CATransaction like: 你可以简单地使用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 will dynamically wait for the animation to finish... CATransaction将动态等待动画完成...

You can execute the code after slate on main thread. 您可以在主线程上执行平板后的代码。

- (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;
    });
}

You can do it with UIView's hidden property. 你可以用UIView的隐藏属性来做。 imageView.hidden = true; imageView.hidden = true;

- (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];
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM