第一次按下按钮时UIImageView不会出现

时间:2015-06-03 12:10:29

标签: ios objective-c uiview uiimageview

当我按下工具栏上的按钮时,我有一个方法可以获取UIImage的屏幕截图,然后模糊图像。然后将该图像放在UIImageView中,并通过动画显示图像视图以填充屏幕。在图像视图动画完成后,我还会显示另一个UIView

我遇到的问题是第一次按下按钮时,图像视图不显示,但另一个UIView(descriptionView)显示。

当我点击取消按钮时,我会在它之前短暂地看到屏幕底部的图像视图,并且descriptionView会像它们应该的那样消失。

按下初始按钮后,它全部工作并显示它应该的样子。只有在第一次点击按钮时才会出现此问题。

- (void)updateBlur {
    UIGraphicsBeginImageContextWithOptions(self.poopMap.bounds.size, YES, 1);
    [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:YES];
    UIImage *screenshotImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImage *blurredImage = [screenshotImage applyDarkEffect];
    self.blurredImageView.image = blurredImage;
    self.blurredImageView.hidden = NO;

    [UIView animateWithDuration:0.4
                     animations:^{self.blurredImageView.frame = self.view.frame;}
                     completion:^(BOOL finished) {self.descriptionView.hidden = NO;}];
}

- (IBAction)placeMarkerPressed:(id)sender {
    [self updateBlur];
    self.poopMap.userInteractionEnabled = NO;
    NSLog(@"Blurred Image Frame: %@", NSStringFromCGRect(self.blurredImageView.frame));
}

- (IBAction)cancelPressed:(id)sender {
    self.descriptionView.hidden = YES;
    [UIView animateWithDuration:0.4
                     animations:^{self.blurredImageView.frame = self.originalRect;}
                     completion:^(BOOL finished) {self.blurredImageView.hidden = YES;
                         self.poopMap.userInteractionEnabled = YES;}];
}

此第一张图片显示的问题仅在第一次点按按钮时发生。您可以看到descriptionView但图像视图不显示。

enter image description here

当我点击按钮时,第二张图像应该是什么样子。在第一次点击按钮后,它就像加班一样。 enter image description here

0 个答案:

没有答案