在application:didFinishLaunchingWithOptions:
我正在添加拆分视图:
[self.window addSubview:splitViewController.view];
[self.window makeKeyAndVisible];
splitViewController
来自应用程序委托中加载的NIB,非常简单,左侧是表格视图,右侧是一些自定义视图。
在shouldAutorotateToInterfaceOrientation:
的{{1}} {i}}如果interfaceOrientation为splitViewController
或UIInterfaceOrientationPortrait
,我将返回NO(在我这样做时更有意义第一轮)。
当我在模拟器(SDK 4.2)中运行我的应用程序时,模拟器正如我所期望的那样旋转到横向,但细节视图不可见(黑色)。左边的表格视图很好。
有趣的是,当我向左或向右旋转模拟器2次时,详细视图会按预期变为可见。
似乎在开始时详细信息视图位于其他视图的后面,我通过记录每个视图控制器的框架(UIInterfaceOrientationPortraitUpsideDown
)来检查它:
shouldAutorotateToInterfaceOrientation:
此外,拆分视图控制器子视图提供:
Details VC frame: {{0, 20}, {768, 1004}}
SiteSelection frame: {{0, 20}, {768, 1004}}
SPLIT VC frame: {{0, 20}, {768, 1004}}
所以看起来由于某种原因,表视图占据了整个iPad的窗口框架,并且与详细的自定义视图重叠。
这是对的吗?这背后的原因是什么?在NIB一切似乎都很好。我怀疑v: <UIView: 0x5c32d60; frame = (0 20; 768 1004); layer = <CALayer: 0x5c335e0>>
v: <UILayoutContainerView: 0x5c94dc0; frame = (0 0; 768 1004); clipsToBounds = YES; layer = <CALayer: 0x5c94e10>>
应该受到指责。我该如何解决这个问题?
答案 0 :(得分:0)
猜猜是什么......在Xcode4下运行完全相同的代码就可以了。 所以我不清楚Xcode3.x下的错误,或者更有可能是iOS模拟器。