我有一个UISplitViewController,而且我使用它的方式有些反常。我的详细视图dView引用了我的主视图mView。
每次方向发生变化时,我都会运行一些代码。当它处于肖像模式时,我将mView.view设置为dView的子视图。当它处于景观模式的时候,我就不会了。
只要我从景观模式开始,它就能正常工作。如果我从那里开始,我可以像我想的那样旋转它多少次,它做的一切都和我期望的完全一样。但是如果我从肖像模式开始,mView根本就不会出现(直到我通过景观模式旋转它)。
我通过IB设置了这个引用。我想那是个设置参照物的好地方。但是我也尝试过使用UISplitViewDelegate方法来设置它,但是这根本不起作用(甚至连从景观模式开始)都没有。
有什么想法吗?
发布于 2010-12-23 15:06:22
在纵向视图中启动时,您的主视图不会被实例化,因为它没有显示。您可以用一个简单的NSLog()来测试它,在分配视图控制器之前,您将看到它是(null):
...
NSLog(@"master: %@", mView);
dView.masterReference = mView;
...如果您还需要您的主视图在肖像中显示,您可以创建自己的SplitViewController,而不是使用UISplitViewController和“滥用”它。;)
https://stackoverflow.com/questions/4515678
复制相似问题