2011-03-04 66 views
0

application:didFinishLaunchingWithOptions:我加入一個拆分視圖:UISplitView:細節視圖不可見

[self.window addSubview:splitViewController.view]; 
[self.window makeKeyAndVisible]; 

splitViewController來自於應用委託加載NIB,是非常簡單的一個,與左邊的表視圖,右邊的一些自定義視圖。

splitViewController我不會回來,如果interfaceOrientation或者是UIInterfaceOrientationPortraitUIInterfaceOrientationPortraitUpsideDown(它更有意義,我最多隻在第一次運行出現這樣)shouldAutorotateToInterfaceOrientation:

當我在模擬器(SDK 4.2)中運行我的應用程序時,模擬器按照我的預期旋轉到橫向,但細節視圖不可見(爲黑色)。左側的表格視圖非常好。

有趣的是,當我向左或向右旋轉模擬器2次時,細節視圖變爲可見,如預期的那樣。

看來,在開始時細節視圖是後面的一些其他視圖,我通過登錄每個視圖控制器的幀(在shouldAutorotateToInterfaceOrientation:)檢查它:

Details VC frame: {{0, 20}, {768, 1004}} 
SiteSelection frame: {{0, 20}, {768, 1004}} 
SPLIT VC frame: {{0, 20}, {768, 1004}} 

另外,拆分視圖控制器子視圖給出:

v: <UIView: 0x5c32d60; frame = (0 20; 768 1004); layer = <CALayer: 0x5c335e0>> 
v: <UILayoutContainerView: 0x5c94dc0; frame = (0 0; 768 1004); clipsToBounds = YES; layer = <CALayer: 0x5c94e10>> 

如此看來,由於某種原因,表視圖正在整個iPad的窗框,並與詳細的自定義視圖重疊。

這是正確的嗎?這背後的原因是什麼?在NIB中一切似乎都很好。我懷疑shouldAutorotateToInterfaceOrientation:是責怪。我該如何解決這個問題?

回答

0

猜猜...在Xcode4下運行完全相同的代碼工作得很好。 因此,我不清楚Xcode3.x下有什麼問題,或者更可能是iOS模擬器。

+0

你有沒有重溫這個問題?我在運行iOS 4.2的iPad上間歇性地執行完全相同的問題,但不在運行4.3的設備上。設備重啓可以解決問題。這很奇怪... – jmans 2011-05-14 02:30:35

相關問題