2012-09-13 4 views
3

나는 UIScrollView가 포함 된 UIView를했습니다. 둘 다 iPad 화면에 올바르게 맞추려면 정확히 768x1004 픽셀 크기입니다.IOS 6 이상한 크기 조정

iPad의 방향이 가로 모드로 변경되면보기의 자동 크기가 1044x728 픽셀로 바뀌어 정확한 비율이 아니며 별난 행동을하지 않게됩니다.

iOS 6에서 작업 할 때와 iPad가 가로 모드에서 시작될 때만 발생합니다.

이전 버전에서는 결코 문제가 없었으며 iPad가 세로 모드에서 시작될 때 기능이 잘 작동합니다.

정상적으로 작동하게하려면 초기 크기를 748x1044로 변경해야하지만 다른 모든 경우에는 올바른 크기가 아닙니다.

내 결론은 iPad가 가로 모드에서 실행될 때 xOS에서 이전에 구성한 크기를 변경하는 iOS 6에 나타난 일종의 메커니즘 또는 버그 일 가능성이 있습니다.

아이디어가 있으십니까?

+0

스프링과 스트럿은 어떻게 구성되어 있습니까? –

+0

미안하지만, 나는 조금 멍청 하네. 자동 크기 조정에 대해 이야기하고 있습니까? 마스크? – user1573607

+0

yes, autoresizingMask –

답변

3

정확한 코드를 제공하여 문제를 해결할 수 없습니다. 이와 같은 사이징 문제를 디버깅하는 데 사용되는 방법은 중요한 일이 발생할 때 가장 바깥 쪽보기 프레임을 로그 아웃하는 것입니다.

- (void) viewDidLoad { 
//.. etc 
NSLog(@"viewDidLoad: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

- (void) viewDidLayoutSubviews { 
//.. etc 
NSLog(@"viewDidLayoutSubviews: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

- (void) viewDidAppear { 
//.. etc 
NSLog(@"viewDidAppear: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

일반적으로 로그를 보면서 당신은 잘못 어디서 무슨 일이 일어나고 있는지 볼 수 있습니다.

+0

나는 당신이 제안하고있는 것을 시도해 보았고, 그것은 내 생각을 확증한다. 세로 모드 모드에서 : viewDidLoad : { 신장 = 400; 너비 = 600; X = 0; Y = 0; } 다시 배향 후 : viewDidLayoutSubviews { 높이 = 144 ** ** ** 폭 = 856 ** X = 0; Y = 0; } 잘 작동하지만 가로 방향으로 시작하는 경우 : viewDidLoad : { Height = 400; 너비 = 600; X = 0; Y = 0; } viewDidLayoutSubviews : { ** 높이 = 124; ** ** 너비 = 876; ** X = 0; Y = 0; } ** 높이가 평소보다 20 픽셀 적고 너비는 20 픽셀 더 많습니다 ... ** – user1573607

관련 문제