2011-03-10 3 views
0

에 나는의 Obj-C로 비교적 새로운 해요 아직 종료 :사용자 정의 UITabBarController가 아이폰

내가하는 운동으로 사용자 정의 탭 표시 줄 클래스를 쓰고 있어요 내 눈으로 탐색의 단계로 없어 조금 더 배우십시오 & 제가하고있는 프로젝트에 필요합니다. 내 생각은 정상적인 UITabBarController를 만든 다음 뷰를 숨기고 내 자신의 것으로 바꾸는 것이다. 이것은 지금까지 효과가 있었고 원하는 미학을 얻었습니다. 당신은 여기

Can't post image due to lack of reputation, click here to see it :)](http://www.samjordan.co.uk/grabs/16845b4daf900c994e95a31a66ecf1f1.png)

나는이 can be seen at this gist를 얻기 위해 사용되는 코드를 볼 수 있듯이. 내가 직면 한 문제는 터치 이벤트가 발생하지 않는 것입니다. 그 버튼이 UIImageView에 있었기 때문에 처음에는 사용자 상호 작용이 활성화되었지만 여전히 운이 없다고 생각했습니다!

문제에 대한 도움을 주시면 감사하겠습니다. 내가 말했듯이 Obj-C에 비교적 익숙하지 않기 때문에 그냥 놓친 간단한 것일 수도 있습니다!

+1

왜이 작업을 수행하고 있습니까? 내장 탭 막대의 문제점은 무엇입니까? 정말 훌륭한 사람들이이 프레임 워크에서 작업하며, 내장 컨트롤러뿐만 아니라 작동하는 무언가를 재현하지 않을 것을 보장합니다. –

+0

하위 클래스의 드로잉 메서드를 단순히 재정의하지 않는 것이 어떻습니까? –

+1

@Dave 나는 주로 학습 운동으로하고있다. :) 나는 내가 그것을 정말로 할 수 있는지보고 싶었고, 사과의 tabbar (환상적이다)를 대체하고 싶지 않았다. – spamoom

답변

0

터치 이벤트를받지 못했다면 슈퍼 뷰의 범위를 벗어난 하위보기를 추가했기 때문입니다. 이 경우 터치는 수퍼 뷰에 절대 들어 가지 않으므로 터치 이벤트를받지 않으므로 하위 뷰에 절대 들어 가지 않습니다.

이 경우,보기를 창에 추가해보십시오.

최근에 사용자 지정 탭 모음을 만들었습니다.

  1. 당신의 UITabBar의 사용자 지정 하위 클래스에서 drawRect을 무시 (혹은 카테고리 확장에서) 할 수 여기에 내가 배운 몇 가지 일을합니다. 그러나 그것은 제한적입니다, 당신은 탭 바의 바깥 쪽에서 그릴 수 없습니다.

  2. UITabBar의 하위 클래스를 만들고 사용자 지정 하위 뷰를 추가 할 수 있습니다. 하위보기가 tabbar보다 큰 경우 self.clipsToBounds = NO으로 설정하십시오.

  3. UITabbar는 자체 하위보기를 만든 후에 추가합니다.

  4. self.delegate = self을 설정하여 사용자 정의 하위 클래스의 터치 이벤트에 연결하고 tabbar 대리자 메소드를 구현할 수 있습니다.

나는 처음부터 탭 표시 줄을 구현할 것입니다. 좋은 학습 경험이 될 것입니다.

+0

나는 이것이 내 질문에 답하는 것처럼 대답으로 표시하고있다. 그러나, Dave DeLong의 의견은 매우 좋은 점을 증명합니다. :) – spamoom

+0

과 not, 나는 의미합니다. :) – spamoom

관련 문제