是否可以编写如下内容?
// MasterViewController.h
#import <UIKit/UIKit.h>
if (device == iPad)
@interface MasterViewController : UIViewController
else
@interface MasterViewController : UITableViewController
换句话说,通用应用程序是否可能成为不同视图控制器的子类,具体取决于设备?
答案 0 :(得分:5)
不要尝试创建这样的单个类,而是创建2个类:
@interface MasterViewController_iPhone : UIViewController
和
@interface MasterViewController_iPad : UITableViewController
然后在您的代码中使用设备惯用法来决定实例化哪一个:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// create a MasterViewController_iPhone
} else {
// create a MasterViewController_iPad
}