2013-10-25 7 views
0

저는 Three20 (ack!)을 사용하여 작성된 오래된 코드 기반으로 작업하고 있습니다. 이제 iOS7 및 iOS6에이 앱을 배포 할 수 있어야합니다.iOS7 NavigationBar는 모든 세그먼트에서 44에서 64 포인트까지 시각적으로 늘어납니다.

대부분 동작하지만, 사용자가 탭을 움직여보기 컨트롤러를 전환 할 때 전환 막대가 44 포인트 탐색 막대로 그려 지지만 애니메이션이 완료되면 64 포인트 높이로 스냅됩니다.

그래서보기를 전환하십시오 ... 부드러운 ... 버터 ... 슬램. 세탁, 헹구십시오, 반복하십시오.

iOS 7 크기의 모든 기기에서보기간에 전환 할 때 저더링 효과가 있습니다. 흥미롭게도 현재 ViewController의 새 인스턴스로 전환 할 때가 아니라 한 뷰에서 다른 뷰로 전환 할 때만 발생합니다.

코드를 표시 하겠지만 표시 할 코드가 확실하지 않습니다.

나는 (RTFM 코멘트 기꺼이 받아 들여지는) 모든 포인터를 주시면 감사하겠습니다. Google-fu는 이번에는 실패했습니다.

보기 계층 구조는 다음과 같은 : UIScreen TTNavigatorWindow UILayoutContainerView UINavigationTransitionView UIViewControllerWrapperView UIView의 TTTableView UITableViewWrapperView ... 등등 ...

이 three20가 있다고 생각되는 three20 문제인가 탐색 표시 줄은 항상 높이가 44 포인트이지만 지금은 그렇지 않습니다.

내비게이션 막대는 44 지점에서만 만들 수있는 인터페이스 작성기 문제입니까? 코드에서이 문제를 제대로 처리해야합니까?

네비게이터가 최상위 수준에 있기 때문에 높이를 정기적으로 변경해야한다고 판단되는 밀 교인 iOS 7 문제입니까?

내 (분명히 빈약 한) 관찰력이 Apple 문서의 관련 비트를 보지 못하는 문서 문제일까요? 내가 좋아하는 것

감사합니다, 모두의

-Ken

답변

1

먼저 Three20을 제거하는 것이 좋습니다합니다. 나는 이것이 당신의 상황에 매우 도움이되지 않는다는 것을 알고 있지만, 정말로.

그러나 나는 당신에게 발생 될 수있는 것 두 아이디어를 제공하고 싶습니다 :

  • Three20은 참으로 다양한 장소에서 하드 네비게이션 바의 크기를 사용하지만, 나는이 문제를 일으키는 생각하지 않는다 여기에 설명하십시오. 나는 다른 곳에서 iOS7을 가지고 문제를 일으킨다는 것을 확신 할 지 모르지만.

  • iOS7에서 내비게이션 막대 높이를 계산하는 것과 같은 방법으로 들리는 것이 문제 일 수 있습니다. 어떻게 든 three20이보기를 관리하는 방법으로 추측 할 수있는 원인 때문에 일반 UIKit에서는 제대로 작동합니다. 전체보기 스택을 화면 아래쪽으로 1 픽셀 아래로 이동하면 어떻게됩니까? 탐색 바는 크기가 바뀌지 않는다고 생각합니다.이를 이해하려면 how iOS7 calculates the navigation bar height을 살펴보십시오. 나는 당신이 갖고 싶은 것이 전체 애니메이션의 64 px 네비게이션 바입니다. 그 효과를 얻기 위해 애니메이션 전에 제시되는 뷰 컨트롤러의 프레임을 수정하는 방법을 알아 내야 할 것입니다.

이 아이디어가 도움이되기를 바랍니다.

+0

안녕하세요, Tonklon, 답장을 보내 주셔서 감사합니다. 예, three20은 * 가고 * 있습니다. (우리는 힘을 설명했는데, 이것은 이것이 낭비되는 노력 일 뿐이므로 ...이 석방을 위해 우리는 오래된 일을 버릴 수 없으며 우리가 가진 것들로해야합니다.) –

+0

iOS7 윈도우 변경 사항에 큰 감동을 받았습니다. 그들은 분명히 6 & 7을 동시에 타겟팅 할 수 있어야하는 개발자에게 아무런 생각도하지 않았습니다. 그들은 두 가지 구조를 유지해야하는 상황을 부과하기를 원했습니다. 오히려 애플을 자극하지만, 점점 더 사실을 형성합니다. navbar 높이 계산에 대한 링크를 가져 주셔서 감사합니다! –