2009-06-05 5 views
2

Ok 사용자 정의 UIButtons가 6 개 있습니다. 그들의 정상 상태 이미지는 모두 원 이미지입니다. 그들은 모두 동등하게 간격을두고 있지만 모든 동그라미는 서로 닿아 있습니다.UIButton : 서클 히트 영역이 필요합니다.

사용자 지정 UIbutton (원 이미지가 있음)의 문제점은 해당 단추의 히트 영역이 사각형이며이 사각형의 모서리가 다른 사용자 지정 단추의 히트 영역의 히트 영역과 겹치는 것입니다.

일반 상태의 원 모양 이미지가있는 UIbutton의 히트 영역을 만들려면 어떻게해야합니까? 일반 사각형 영역이 아닌 해당 원만 클릭 할 수 있어야합니다.

나는 누군가가 내가 현재 가지고있는이 문제를 해결할 수있는 방법을 찾을 수 있기를 희망한다! 사전에

감사

파반

+0

코코아? iPhone 개발자? – Demi

답변

4

는 "원"의 사각형 영역을 클릭하면 원의 중심과 클릭의 좌표 사이의 거리가 작은 경우, 당신은 확인해야합니다 원의 반지름보다 그렇지 않으면 "히트"를 무시할 수 있습니다.

+0

먼저, 빠른 응답을 주셔서 대단히 감사합니다. 저는 현재 프로젝트에서 일하고 있기 때문에 문자 그대로 응답을 기다리고 있습니다! 나는 이것을 곧바로 시도 할 것이다. 말된다. 좋아요. 서클을 돌 봅니다. 삼각형과 같이 복잡한 모양은 어떨까요? 나는 그것들 중 두 개를 가지고 있나? 꽤 많이 있습니다. – Pavan

+0

그런데 사용자가 맞춤 검색 버튼을 클릭하면 소리가 울립니다. 그래서 귀하의 제안을 사용하여 좌표가 원 안에 있는지 확인하고 UIButton이 여전히 하이라이트 상태가되기 때문에 사용자가 원 자체에 없었지만 히트 영역에 있었던 것입니다 ... .. 그래서 어떻게 강조 표시 상태로가는 것을 무시하도록 프로그램을 지시합니까?! 미리 감사드립니다. – Pavan

+0

@Pavan : 삼각형에 관해서는 좌표가 세 꼭지점에 의해 설명 된 선 내에 있는지 확인하는 수학 코드 또는 좌표가 두 꼭지점에 의해 설명 된 행의 바깥 쪽인지 무시하는 것이 더 쉬운 경우도 있습니다. 그럴 경우. 이것은 간단해야합니다 - 주어진 좌표 x에 대해 삼각형의 가장자리에 대해 예상되는 y 값을 계산 한 다음 클릭의 y 값과 비교할 수 있어야합니다. 나는 이것이 의미가 있기를 바랍니다. – Demi

0

입력 demi 주셔서 감사합니다, 난 그냥 기본적으로 이미지 위에 숨겨진 버튼을 넣어. 그들은 정말로 원이 아니었고 더 복잡한 모양이었습니다. 따라서 수학에 대해 신경 쓰지 않는 이유는 이미지 위에 숨겨진 버튼을 배치하고 필요한 히트 영역 범위를 얻을 때까지 히트 영역을 만들고 적절하게 커버하는 것입니다.

매우 깔끔하지는 않지만 잘 작동합니다. : D

빠른 답장을 보내 주셔서 다시 한번 감사드립니다.

0

OBShapedButton은 이미지 영역에있는 탭에만 응답하는 버튼을 제공하는 멋진 프로젝트입니다. 나는 그들이 똑같은 일을한다고 말하는 몇 가지 프로젝트를 망쳤다. 그리고 이것은 내가 지금까지 보아온 최고의 프로젝트이다.