У меня есть контроллер вида, который состоит из вида контейнера, который является половиной размера экрана по сравнению с видом изображения, который изначально скрывается. контейнер встроен в tableView. У меня есть кнопка, которая по щелчку отображает представление контейнера, а при втором нажатии она скрывается. , когда вид контейнера открыт в фоновом режиме, должен быть размытым. Для этого размытия. Я хочу сделать снимок экрана с исходного места просмотра, на котором снимок экрана имеет фон и размытие. Я попытался этоКак сделать снимок экрана UIView и использовать его с размытым фоном?
- (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];
}
}
Какая у вас ошибка? – jalone
Почему бы вам не добавить более крупный вид контейнера и добавить представление над табличным представлением и дать соответствующую альфу этому виду, чтобы фон выглядел размытым. –
Нет вида контейнера, как выпадающий список, он будет отображаться только при нажатии кнопки. – gowtham