2014-02-12 2 views
1

내 문제는 UITabBarController의 맨 아래에있는이 주황색 배경을 제거 할 수 없다는 것입니다.UITabBarController의 내용 (UIViewController)의 전체 크기가 표시되지 않습니다.

세부 사항 : 나는이 UITabBarController을 가지고 있고 나는 그것에 UIViewController를 추가 할 때 UIViewController이 유일한 망막 4 인치 화면의 아이폰 OS 7의 UITabBarController 내에서 크기에 적합하다. 그러나 Retina 4의 iOS 6에서 이것을 시도하면 UITabBarController의 배경이 주황색으로 표시됩니다.

Image

나는이 문제를 해결하기 위해 시도하십시오 UITabBarController를 재 작성)

1 수동

2) NSLog UIViewController의 프레임을 만들 수 있는지 그들이 320x568,960 and 1134 contentsizeForViewInPopOver

설정 하지만 그들은 둘 다 동일한 오렌지색을 보여줍니다 (나는 UITabBarController의 배경을 확인하기 위해 오렌지색으로 설정했습니다)

3) mapview와 mapview의 부모보기가 확대되었지만 결과가 없습니다.

참고 : 이미지 하단의 회색 부분은 모든 tabbaritem이지만이 목적으로 표시되지 않습니다.

나는 변화가 없으며이를 파악할 수 없습니다. 누군가 제발 도와 주실 수 있습니까?

미리 감사드립니다.

답변

0

연구 시간이 지나면 그 원인을 발견했습니다.

내 viewcontroller에 - (void) showTabBar이라는 메서드가 있었으며 Retina 4 디스플레이의 iOS 7에 해당하는 특정 프레임에 프레임/경계를 설정했습니다!

이제 모든 것이 좋지만 viewDidLayoutSubviews

1

지도 컨트롤러의 기본 뷰 (위쪽, 오른쪽, 아래쪽, 왼쪽)마다지도보기의 4 가지 자동 레이아웃 제약 조건을 모두 0 값으로 설정합니다. Screenshot of Interface Builder

+0

답을 주셔서 감사하지만, 프로그램이 커짐에로가 복잡 나는 스토리 보드에서 개발하고 있지 않다에서 힌트 @MrTJ에 감사합니다. 프로그래밍 방식으로 해당 솔루션과 동일한 솔루션이 있습니까? 감사! – tsuz

+1

'NSLayoutConstraint'의'constraintsWithVisualFormat : options : metrics : views :'메소드를 사용하여 프로그램 적으로 레이아웃 제약 조건을 생성 할 수 있습니다. 그러나 컨트롤러의'viewDidLayoutSubviews' 메쏘드에서 수동으로 맵 뷰의 프레임을 변경하는 것이 더 간단 할 수도 있습니다.이 라인은'self.myMapView.frame = self.view.bounds;' – MrTJ