2016-11-24 7 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

점점 흐리게 view didLoad 메서드에서 초기화하고 메서드에서 프레임을 설정할 수 있습니다.

이렇게 작성할 수 있습니다. .H 파일 추가에 :하는 .m 파일 추가에

UIView *blur; 

:

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

} 

당신이 다른보기로 영향을보기를 사용하는 경우 그것은 고마워 당신

+0

작동하지만 투명 효과가 필요한 경우 이미지가 아래에 숨겨져있어 흐리게 처리해야합니다. – gowtham