2016-11-24 2 views
1

У меня есть контроллер вида, который состоит из вида контейнера, который составляет половину размера экрана по сравнению с видом изображения, который изначально скрывается. контейнер встроен в tableView. У меня есть кнопка, которая по щелчку отображает представление контейнера, а при втором нажатии она скрывается.Как размыть фон контейнера, который является половиной экрана

Мой вопрос заключается в том, как размыть фон контейнера, когда его содержимое отображается?

- (IBAction)OnClickingIndicator:(id)sender { 
[self loadView]; 
[self.childViewControllers[0] view].hidden = ![self.childViewControllers[0] view].hidden; 

} 

-(void)loadView 
{ 
UIView *blur = [[UIView alloc]initWithFrame:CGRectMake(0,150,self.view.frame.size.width,self.view.frame.size.height/4)]; 

blur.backgroundColor = [UIColor colorWithRed:92/255 green:100/255 blue:139/255 alpha:0.5]; 

[self.view addSubview:blur]; 

} 

я хочу эффект размытия произойдет, когда эта точка зрения не скрыта и не произойти, если вид скрыт.

Реальная проблема заключается в первом эффекте нажмите размытие происходит, но в течение следующих кликов размытия эффект потемнения и экран становится темным

enter image description here

+0

Если вы используете зрения это повлияет на другую точку зрения. Лучший способ добавления изображения. – Sanjukta

+0

Вы должны изучить https://developer.apple.com/reference/uikit/uivisualeffectview .. – pds

+0

Я изменяю свой ответ, пожалуйста, попробуйте его. Упование это поможет вам. – Sanjukta

ответ

1

Если вы хотите выше изображения, а затем инициализировать вид из стороны метод. Вы можете инициализировать его в виде метода didLoad и установить кадр в свой метод.

Вы можете написать таким образом. в .h файл объявление:

UIView *blur; 

в .m файл объявление:

- (void)viewDidLoad { 
    UIView *blur = [[UIView alloc]init]; 
} 

- (IBAction)OnClickingIndicator:(id)sender { 
[self loadView]; 
[self.childViewControllers[0] view].hidden = ![self.childViewControllers[0] view].hidden; 

} 

-(void)loadView 
{ 
blur.frame = CGRectMake(0,150,self.view.frame.size.width,self.view.frame.size.height/4); 

blur.backgroundColor = [UIColor colorWithRed:92/255 green:100/255 blue:139/255 alpha:0.5]; 

[self.view addSubview:blur]; 

} 

Это будет работать нормально для you.thank вы

+0

это работает, но мне нужен прозрачный эффект, если у меня есть изображение, которое он скрывает ниже, я хочу, чтобы это было размыто – gowtham

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