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 に答える