저는 UIView
의 색이 검정색이고 불투명도가 0.9이거나 그런 식으로되어 있습니다. 내가하고 싶은 일은 UIView
을 검은 색 부분으로 채우는 것입니다. 그러나 지정된 사각형 영역은 검은 색이어서는 안됩니다. 즉 그 특정 직사각형 영역은 깨끗한 색으로 유지됩니다 ...UIView의 작은 부분의 색상이 바뀌나요?
어떤 종류의 도움을 주시면 감사하겠습니다.
관련,
이므 란
저는 UIView
의 색이 검정색이고 불투명도가 0.9이거나 그런 식으로되어 있습니다. 내가하고 싶은 일은 UIView
을 검은 색 부분으로 채우는 것입니다. 그러나 지정된 사각형 영역은 검은 색이어서는 안됩니다. 즉 그 특정 직사각형 영역은 깨끗한 색으로 유지됩니다 ...UIView의 작은 부분의 색상이 바뀌나요?
어떤 종류의 도움을 주시면 감사하겠습니다.
관련,
이므 란
사용자 정의하여 기본보기 작은 UIView
및 설정 배경 투명 색상을 만들 수 있지만 사용 할 수 있습니다 나 자신과 비슷한 어떤 것);
- (void)drawRect:(CGRect)rect {
// fill the whole UIView with a color
[[UIColor colorWithRed:1 green:1 blue:1 0.9] setFill];
UIRectFill(rect);
// draw a rect
CGRect rectIntersection = CGRectIntersection(theRectIWantToDrawIn, rect);
[[UIColor clearColor] setFill];
UIRectFill(rectIntersection);
}
위 코드는 특정 위치에서 시뮬레이션 된 클리어 컬러 홀이있는 검은 색 뷰를 그립니다. 물론이 동작을 원하는대로 변경할 수 있습니다.
매우 빠릅니다.
업데이트 : 나는 UIClear 색 (xib에 추가하고 그 속성을 거기에 설정)에 그려야하는 UIView를 설정하고 '불투명'을 선택 취소합니다. 그 구멍을 투명하게 만들어야합니다.
업데이트 2 : (신용 어디 예정이다 학점) 내 대답이 답변에 따라되었습니다 iPhone - Draw transparent rectangle on UIView to reveal view beneath
그 지역에 다른보기 (서브 뷰)를 추가합니다. 원하는 색상으로 설정하십시오. 현재 요구 사항을 충족하는 쉬운 솔루션입니다. 또는 일부 석영 코어 기능을 사용할 수 있습니다.
당신은 당신은 UIView
를 서브 클래스 화해 - (void)drawRect:(CGRect)rect
을 무시하고 다음 (안된의 뭔가를 할 수
UIView *View1 = [[UIView alloc] initWithFrame:CGRectMake(128.0f, 50.0f, 34.0f, 34.0f)];
[View1 setBackgroundColor:[UIColor clearColor]];
[self.view addSubview:View1];
[View1 release];
우수! 이것은 내가 원했던 것입니다. :) 직사각형에 대해 결코 알지 못했지만 ... 문제가 있습니다. 위의 코드는 메인 뷰에 구멍을 뚫었지만, 내가 가지고 있어야하는 부분은 명확한 색깔 (ie 안쪽 직사각형); 'clearColor'를 사용하면 내부에 검은 색 색조가 나타납니다. 사용자가 배경보기를 들여다 볼 수 있도록 선명한 색상을 지정해야하기 때문에 내가 예상했던 것만은 아닙니다. 어떤 생각을 했습니까? – Imran
보기에 일부 속성을 설정해야한다는 점을 잊어 버린 것 같습니다. 이전 답변을 업데이트했습니다. – Jake
그 트릭을 했어 :) 고마워요! – Imran