在你的问题,你写道:
我可以想像的细码/十万这么多问题的“如果”检查遍布整个地方,它会迫使我坚决对UI安排做一个小改动。
避免这种情况的一种方法是创建一个视图层次结构,从一开始就将iPhone/iPad特定更改的处理分开。您只需设置每个设备最初加载的视图。然后,像通常那样创建视图控制器,但是您也创建了您创建的视图控制器的子类。每个设备的一个子类。这就是您可以放置设备特定代码的位置,例如定位处理。就像这样:
MyViewController.h // Code that is used on both devices
MyViewController_iPhone.h // iPhone specific code, like orientation handling
MyViewController_iPad.h // iPad specific code, like orientation handling
如果你有兴趣在此方法中,我建议你读this article。它以非常好的方式解释它。
之一上述文章中提到的事情,是这样的:
的quote--
这种模式的好处是--start我们没有垃圾我们的代码是废话看起来是这样的:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// The device is an iPad running iPhone 3.2 or later.
// set up the iPad-specific view
} else {
// The device is an iPhone or iPod touch.
// set up the iPhone/iPod Touch view
}
---年底quote--
我希望有所帮助。祝你好运!
是的,这是有点什么即时通讯现在做...感谢 – Mark 2010-05-12 02:56:53
对我willRotateToInterface方法永远不会被调用。你需要连接一些东西,或者在IB中添加一个监听器吗? – 2010-08-13 00:38:26
这是我正在寻找的很好的例子。任何替代的例子? – 2010-12-16 09:50:07