0

我目前正在将 iPhone 应用程序移植到 iPad 应用程序。现在,在 iPhone 应用程序的几个屏幕中,所有 UI 都是通过使用 Visual Format Language 的代码完成的。现在在 iPad 中,由于 UI 不同,我可以简单地通过 Interface Builder 来完成。现在我的应用程序如何执行仅适用于 iPhone 应用程序而不适用于 iPad 的 loadView?

我尝试了以下选项

#define IS_IPHONE UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone

#ifndef IS_IPHONE
- (void)loadView
{
    self.myView = [[MyCustomView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.view = self.myView;
}
#endif

- (void)viewDidLoad
{
    // my other code 
}

但是对于 iPhone loadView 没有被调用。直接执行 viewDidLoad 方法。

谁能告诉我如何实现这一目标?提前致谢。

4

1 回答 1

0

You can do someting like this :

#define IS_IPHONE UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone   

- (void)loadView {
    if (IS_IPHONE)
    {
        self.myView = [[MyCustomView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.view = self.myView;
    }
    else {
        //other code
    }
}
于 2013-12-02T08:53:55.870 回答