2009-08-13 3 views
6

약간의 하위보기가있는 다소 투명한 시각 (알파 = 0.6)이 있습니다. 하나의 하위 뷰 (UILabel)가 1.0의 알파로 그려지기를 원합니다. 왜냐하면 블렌딩이 텍스트를 읽기가 어려워지기 때문에 그것을 메인 뷰의 서브 뷰로 추가함으로써 부모의 알파 값을 채택했기 때문입니다. 이 동작을 무시할 수있는 방법이 있습니까? 내가 subview에서 그것을 제거해야 할거라고 생각하지만 어쩌면 내가 뭔가를 놓치고 있는지 묻고 싶어.하위 뷰 중 하나에서 상위 UIView의 알파 값을 재정의 할 수 있습니까?

답변

2

정확합니다. 투명한 뷰에서 UILabel을 이동시켜 투명하지 않게 렌더링해야합니다.

10

쉽게 작동하는 또 다른 접근 방식은 UIView에서 알파 채널을 수정하지 않는 것입니다. 대신 UIView의 backgroundColor 객체에서 알파 레이어를 수정하십시오.

물론 이것은 왜 알파 레이어를 투명하게 만들 었는지에 따라 다르지만 내 요구 사항에 따라 잘 작동합니다.

+0

감사합니다. 솔루션은 다른 컨테이너를 만드는 것보다 훨씬 낫습니다. –

13

브라이언입니다. 예를 들어 :

view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6]; 

알파 0.6에 검은 배경을 만들 것이며, 다른 뷰는 영향을받지 않습니다.

+0

고맙습니다. – ViruMax