원 이미지를 표시하는 UIView (대화식으로 유지해야 함)에서 서클의 영역 바깥 쪽이 사용자 상호 작용을받지 않도록하려면 어떻게해야할까요? 보기가 여전히 활성 상태입니까?직사각형이 아닌 UIView 콘텐츠 외부에서 사용자 상호 작용 허용
나는 CGPath를 사용하여 UIView를 마스킹했으나 도움이되지 않았습니다.
어떤 아이디어가 있습니까?
원 이미지를 표시하는 UIView (대화식으로 유지해야 함)에서 서클의 영역 바깥 쪽이 사용자 상호 작용을받지 않도록하려면 어떻게해야할까요? 보기가 여전히 활성 상태입니까?직사각형이 아닌 UIView 콘텐츠 외부에서 사용자 상호 작용 허용
나는 CGPath를 사용하여 UIView를 마스킹했으나 도움이되지 않았습니다.
어떤 아이디어가 있습니까?
UIView와 같이 뷰 계층 구조에서 터치 이벤트 버블이 발생하기 때문에 터치 이벤트가 관련이 있는지 확인하고, 단순히 NO를 반환하지 않고 해당 이벤트가 다음 UIView로 이동하면 확인할 수 있습니다. 계층
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
for (UIView * view in [self subviews]) {
if ([view pointInside:[self convertPoint:point toView:view] withEvent:event]) {
return YES;
}
}
return NO;
}
UI 이벤트를받는 요소를 원 밖으로 가져 오지 마십시오. 어쩔 수없는 경우 원의 바깥에있는 모든 요소를 필요한만큼 비활성화하십시오.
제목을 - ALLOW 사용자 상호 작용으로 업데이트했습니다.이 3 개의 파란색 버튼을 이미지 아래에 가져 와서 원 이미지와보기 프레임 사이의 겹치는 알파 영역 아래에있을 때도 이벤트를 가져와야합니다. –
컨트롤의 일부만 활성화되어 있으면 전체 컨트롤을 비활성화하고 원하는 영역 만 표시하는 보이지 않는 버튼을 넣으십시오. – Dustin
uiview에서 interaction을 false로 설정하면 보이지 않는 버튼도 비활성화됩니다. 어떤 비공식적 인 방법을 알고 있습니까? –