2012-07-11 2 views
2

약간 반투명 한 뷰를 가지고 알파를 약 .75로 설정하고 버튼을 하위 요소로 포함합니다. . 버튼을 완전히 불투명하게하고 IB에서 불투명 한 속성을 설정했지만 버튼이 반투명으로 나타납니다.상위 뷰의 알파가 반투명으로 설정된 경우 뷰의 요소를 투명하지 않게하는 방법

모든 포인터?

감사합니다.

+0

도움이 될지 모르지만 여기에서 또 다른 질문을 찾지 못합니다. http://stackoverflow.com/questions/1409285/iphone-sdk-non-transparent-subviews-in- 투명한 시야 – msk

답변

1

슈퍼 뷰의 서브 뷰는 항상 서브 뷰만큼 투명합니다.

서브 뷰 alpha = 0.5 및 superview alpha = 0.1의 경우 서브 뷰의 알파가 0.05가됩니다.

이를 달성하는 유일한 방법은보기 계층을 변경하는 것입니다. 하위보기는 더 이상 하위보기가 아니어야합니다. 여전히 같은 위치에있을 수 있습니다. (다른 위치 값을 요구할 수 있음).

예. (당신의 firstView의 위치 인 경우

backgroundView -> first View 
       \-> overlay View. 

: 귀하의 배경보기 backgroundView 당신의 수퍼은 firstView 입니다

현재 계층 구조

backgroundView -> firstView -> overlayView 

당신은 해당 변경해야

수 있도록 OverlayView 귀하의 서브 뷰입니다 10, 10) 및 overlayView의 위치가 (20,20) 인 경우 오버레이보기의 위치가 (30,30)로 바뀌므로 이제는 배경보기의 좌표계 내에 있기 때문입니다. 코드에 대한

: 어떤 시점에서 당신은 단지 내에서 수 있도록 OverlayView 이동

[backgroundView addSubView:firstView]; 
[backgroundView addSubView:overlayView]; 

에 해당 코딩하지 않은 경우 것을

[backgroundView addSubView:firstView]; 
[fisrtView addSubView:overlayView]; 

변화를 가지고하는 데 사용하지만, IB 내에서 정의 따라서 첫 번째보기와 동일한 수준에 있도록 트리를 표시합니다.

코드에 관계없이 IB로 그리든 관계없이 firstView가 먼저오고 다음에 overlayView가 오는지 확인하십시오. 그렇지 않으면 alphaView가 0보다 큰 경우 firstView가 오버레이 뷰를 숨길 수 있습니다.

관련 문제