2012-09-13 75 views
3

我有一個包含UIScrollView的UIView。 它們都具有768x1004像素的精確尺寸,以便在iPad屏幕上正確安裝。IOS 6奇怪的調整大小

當iPad的方向更改爲橫向模式時,視圖的自動調整大小會變爲1044x728像素,而不是正確的比例和製造怪異行爲。

只有當我在iOS 6中工作,並且iPad在橫向模式下啓動時纔會出現這種情況。

在舊版本中,從來沒有問題,當de iPad在肖像模式下啓動時,功能運行良好。

爲了使它工作正常,我必須將初始大小更改爲748x1044,但在其他所有情況下,應用程序的大小不正確。

我的結論是,有一些機制或錯誤可能出現在iOS 6中,當iPad以橫向模式啓動時,會改變先前在xib上配置的尺寸。

任何想法?

+0

您的彈簧和支柱如何配置? –

+0

對不起,我有點小菜。你在談論autoresizingMask嗎? – user1573607

+0

是的,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:{ Height = 400; 寬度= 600; X = 0; Y = 0; } 和再取向之後: viewDidLayoutSubviews:{ **高度= 144; ** ** 寬度= 856; ** X = 0; Y = 0; } 工作正常,但是如果它在橫向上啓動: viewDidLoad:{ Height = 400; 寬度= 600; X = 0; Y = 0; } viewDidLayoutSubviews:{ ** Height = 124; ** ** Width = 876; ** X = 0; Y = 0; } **高度比平常少20個像素,寬度爲20像素更多...... ** – user1573607

相關問題