0

是否可以编写如下内容?

//  MasterViewController.h

#import <UIKit/UIKit.h>

if (device == iPad)
    @interface MasterViewController : UIViewController
else
    @interface MasterViewController : UITableViewController

换句话说,通用应用程序是否可以根据设备成为不同视图控制器的子类?

4

1 回答 1

5

不要尝试创建一个这样的类,而是创建 2 个类:

@interface MasterViewController_iPhone : UIViewController

@interface MasterViewController_iPad : UITableViewController

然后在您的代码中使用设备习惯用法来决定要实例化哪一个:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    // create a MasterViewController_iPhone
} else {
    // create a MasterViewController_iPad
}
于 2013-08-03T18:44:19.290 回答