iPad - UISplitViewController - 非常规使用UIViewController

时间:2010-12-23 03:40:55

标签: ipad uiviewcontroller uisplitviewcontroller

我有一个UISplitViewController,我在某种程度上非常规地使用它。我的详细信息视图dView引用了我的主视图mView

每次方向更改时,我都会运行一些代码。当它处于纵向模式时,我将mView.view设置为dView的子视图。当它处于风景模式时,我没有。

只要我以横向模式开始,它就可以正常工作。如果我从那里开始,我可以根据需要多次旋转它,它完全按照预期完成所有操作。但是如果我以人像模式开始,则mView根本不会显示(直到我通过横向模式旋转它)。

我通过IB设置此引用。我认为这是设置引用的好地方。但我也尝试使用UISplitViewDelegate方法来设置它,但这根本不起作用(甚至没有以横向模式启动)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在纵向视图中启动时,您的主视图不会被实例化,因为它未显示。您可以使用简单的NSLog()进行测试,在分配视图控制器之前,您会看到它是(null)

...
NSLog(@"master: %@", mView);
dView.masterReference = mView;
...

如果您还需要主视图以纵向显示,您可以创建自己的SplitViewController而不是使用UISplitViewController并“滥用”它。 ;)