UIView를 특정 양만큼 "어둡게"하고 싶습니다. 지금,이 같은 어둡게하고 있어요 :UIView를 어둡게하기
UIView *overlay = [[UIView alloc] initWithFrame:mainView.bounds];
overlay.backgroundColor = [UIColor blackColor];
overlay.alpha = 0.5f;
[mainView addSubview:overlay];
불행하게도,이 또한 투명 mainView
의 부분에 반투명 블랙 오버레이를 추가합니다. 불투명 한 부분 만 어둡게 할 수있는 방법이 있습니까?
이것은 유망 해 보입니다! 그래도 다른 뷰와 합성하는 것이 무슨 의미인지는 모르겠지만 (저는 UIView 멍청이입니다). 필자의 예에서는 mainView에서 drawRect :를 재정의 할 수 있습니까? – igul222
블렌드 모드가 어두워지면 이미 동일한 컨텍스트에서 그려진 모든 것을 어둡게합니다. 그것은 당신이 어둡게하고 싶은 어떤 견해라도 당신이 그려야 할 동일한 맥락 속으로 이미 들어가야 만한다는 것을 의미합니다. 'drawRect :'에서 현재 컨텍스트를 제어하는 것은 시스템에 달려 있으며, 어떻게 동작하는지 모르겠습니다. 각 뷰에 대해 새로운 컨텍스트를 만드는 경우이 코드는 아무 것도 수행하지 않을 수 있습니다. 그래도 효과가 없으면보기를 어둡게하여 이미지로 만든 다음 이미지를 그려서 위와 같이 어둡게 만들 수 있습니다. – drawnonward
느리지 않니? – hfossli