2012-05-10 6 views
2

이 같은 사용자 정의 탐색 버튼을 만들었습니다. 모두 잘 작동하고 버튼이 생성되었지만 버튼 바깥 쪽의 클릭 할 수있는 영역으로 탐색 바 중앙에 매우 가깝습니다. 클릭 가능한 영역을 제한 할 수 있습니까?탐색 버튼을 클릭하면 외부

+0

[이 주제] (http://stackoverflow.com/questions/9338681/issue-with-button-on-the-leftside-of-the-uinavigation-bar)에 익숙한 질문. Apple은 사용하기 쉽도록이 방법을 만들었습니다. – dementiazz

답변

0

내 생각에 버튼은 이미지의 중심을 맞추고 크기를 조정하지 않기 때문에 버튼의 프레임이 너무 큽니다.

button.frame=CGRectMake(x,y,w,h)

당신이 클릭 할 수있는 영역이 원하는 것과 프레임을 설정합니다.

+0

'UIBarButtonItem'은 'UIView'가 아니기 때문에 작동하지 않습니다. 따라서 '프레임'이 없습니다. –

5

나는 그것이 iOS의 "기능"이라고 생각합니다. 왼쪽과 오른쪽의 탐색 버튼은 iOS에서 허용되는 최소 터치 영역보다 작습니다. 결과적으로 실제 히트 존은 실제 NavigationButton보다 훨씬 큽니다. 막대 바로 아래를 포함하여 버튼의 왼쪽과 오른쪽을주의하는 것처럼. 그것 때문에 당신이 만지고있는 곳을 "쳐다 보지"않고도 빨리 감동 할 수 있습니다. iPhone이 초기에 대부분의 Android 휴대 전화보다 사용하기에 더 자연스러운 이유 중 하나입니다.

0

나는 처음에 UIBarButtonItem 서브 클래 싱을 생각하고 -touchInside:을 재정의했습니다.

UIBarButtonItemUIView의 하위 클래스가 아니기 때문에 이것은 작동하지 않습니다.
그래서 일부 개인 API를 재정의하지 않으면 달성하려는 것은 불가능합니다.

관련 문제