Ich habe eine View-Controller, die aus einer Container-Ansicht, die die Hälfte der Bildschirmgröße über eine Bildansicht besteht, die zunächst ausgeblendet wird. Der Container ist in das TableView eingebettet. Ich habe eine Schaltfläche, die beim Klicken die Containeransicht anzeigt und beim zweiten Klick wird sie ausgeblendet. Wenn diese Containeransicht geöffnet ist, sollte die Hintergrundansicht verschwommen sein. Für diese Unschärfe-Ansicht Ich möchte einen Screenshot der ursprünglichen Ansicht Ort, dass Screenshot-Bild hat Hintergrund und verschwimmen das. Ich habe versucht, dieseWie man einen Screenshot von UIView macht und es benutzt, hat einen Hintergrund mit Unschärfen?
- (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_imageView.image = [UIImage imageNamed:@"img"];
return img;
}
- (IBAction)clickToBlur:(id)sender {
[self imageWithView:_imageView];
_imageView.image = [UIImage imageNamed:@"img"];
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
self.view.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect ];
blurEffectView.frame = self.view.bounds;
blurEffectView.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.6];
blurEffectView.frame = CGRectMake(0, 28, 375, 554);
blurEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:blurEffectView];
} else {
self.view.backgroundColor = [UIColor blackColor];
}
}
Was ist Ihr Fehler? – jalone
Warum fügen Sie keine größere Containeransicht hinzu und fügen eine Ansicht über der Tabellenansicht hinzu und geben Sie dieser Ansicht das entsprechende Alpha, damit der Hintergrund unscharf erscheint. –
Nein, die Containeransicht ist wie eine Dropdown-Liste. Sie wird nur angezeigt, wenn die Schaltfläche angetippt wird. – gowtham