2009-12-07 7 views
2

나는 내가 UINavigationControllerDelegate의있는 navigationController을 통해 이런 짓을했습니다합니다 (UINavigationController가 부착)을 UINavigationBar의 높이크기 조정 uinavigationbar 푸시/팝의 ViewController 크기 문제

축소해야 didShowViewController 방법을, 그리고 그것을 잘 작동합니다.

문제는 기본보기에있는 보이는 viewcontroller입니다. 새로운 navbar 높이를 반영하기 위해 자체 크기를 조정하지 않았습니다. 따라서 didShowViewController 메서드는 viewcontroller의 뷰 프레임 크기를 조정하여 정상적으로 작동합니다.

그러나 새로운 ViewController 또는 pop을 사용하려면 다음 뷰로의 애니메이션 전환 도중 항상 원래 위치로 이동해야합니다. 그런 다음 NavControllerDelegate의 didShowViewController에있는 코드로 인해이 코드가 다시 이동합니다.

나는 교대 중지가 발생하지 않도록하는 가장 좋은 방법에 대해 궁금합니다.

프레임의 크기를 조절하는 코드를 willShowViewController에 배치하려고했지만 아무 것도하지 않았습니다.

나는 또한 UIViewController의 뷰인 UIView의 프레임이 튀어 나오고 있는지 확인했으나 적절하거나 이동 된 차원이기도합니다. 거기에 가지 마라.

그것은 pushViewController가 호출 된 후 UINavigationController의 didShowViewController가 호출되기 전에 그리기 작업을 가로 챌 필요가있는 것처럼 보입니다.

나는 시간이 내 & 시간 내 코드를 쳐다보고있다 ... 아무데도 못지고있어. 희망적으로 이것은 누군가에게 의미가 있습니다.

감사합니다.

답변

2

NavigationControllers navigationBarHidden을 YES로 설정하는 것이 다른 방법이라 생각합니다. 이렇게하면 탐색 모음이 완전히 숨겨지고 막대가 상주했을 것으로 예상되는 모든보기를 그릴 수 있습니다. 네비게이션 메소드를 감싸는 뷰에 컨트롤을 두는 것만으로 (push, pop, etc ...). 그것은 nav bar와 같은 스타일을 갖도록하는 것이 어려울 수도 있습니다.

+0

흥미로운 아이디어. 원래 크기로 다시 바 (즉, 테이블 뷰) 아래에있는보기의 문제는 사용자 정의 탐색 모음에서 해결할 수 있다고 생각하십니까? (내 가장 큰 문제는, 내 원래의 의견이 분명하지 않은 경우 미안 해요) – dan

+0

아, 당신이 뭔가를 생각하는 것 ... 이것은 올바른 방향으로 밀려 났을 수도 있습니다. 나중에 다시보고 할 것입니다. – dan

+0

나는이 방법을 사용하여이 길로 갈 수 있었다. 내 자신의 내비게이션 바를 정의하고 '공장에서 제공 한'것을 숨기고 있었다. 더 많은 작업이지만, 필요한 커스터마이징을 처리하기 위해서해야 할 것입니다. 시간 내 주셔서 대단히 감사합니다. 매우 감사. – dan