ios6과 ios7 모두에서 실행되도록 설정하려는 stroryboards, 내비게이션 컨트롤러 및 autolayout을 사용하는 앱이 있습니다.ios6의 내비게이션/아래쪽 막대 아래에서 ios7 흐름으로 변환 된보기
저는 xcode5를 사용하여 응용 프로그램을 변환했으며 현재 ios7에서 잘 실행되지만, 탐색 막대와 하단 막대는 투명합니다 (원래는 없었습니다). 그리고보기가 그 아래로 흐릅니다 - 숨어 있습니다. 일부 컨트롤. ios7 앱을 이러한 막대 아래로 흐르지 않게 변환해도 (가장자리 확장/아래 막대 및 밑면 막대 사용 안 함 설정)이 설정은 유지됩니다.
나는 iOS7에가 (애플이 어쨌든 할 우리가 원하는 것을) 바에서보기를 흐르게하고 투명을 사용하지 iOS6의 강제로 주먹 뷰 컨트롤러의 viewDidLoad에 메서드에 다음 코드를 추가하여 주위에 일했다 바.
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
self.navigationController.toolbar.barStyle = UIBarStyleBlackOpaque;
}
이 작동하는 것 같군,하지만 난이 작업을 수행해야하고 내가 근본적인 뭔가를 놓친 거지 걱정됩니다 이유를 이해하지 않습니다.
편집 :이 '솔루션'에 대한 다른 우려 사항은 ios6 아래의 xcode5의 미리보기가 iOS 6 아래 시뮬레이터에서 실행될 때 레이아웃을 정확하게 반영하지 않는다는 것입니다 (실제 ios6 장치가 있음). 지금 테스트하기에 편리). xcode5의 새로운 미리보기 기능은 iOS 6가 위쪽 및 아래쪽 막대 아래에서보기를 흐르지 않으므로 사용 가능한 공간에 맞추기 위해 컨트롤을 함께 축소한다고 가정합니다.
알리
확인을하는 데 도움이
희망을 할 수있는을, 나는 조금 깔끔 볼 수 있습니다. 그러나 나는 왜 우리가 이것을해야하는지에 관해서 궁금하다. xcode5의 버그입니까? –
그 버그일지도 모르겠지만, 이전 iOS 릴리즈에서 같은 방식으로 구현 된 정의되지 않은 동작 중 하나라고 오히려 말하고 싶습니다. 그리고 iOS 7에서 갑자기 변경되었습니다. –