-3

今、私は Head First iPhone and iPad Development 2nd edition (Dan Pilone, Tracey Pilone) という本を読んでいます。そして、本の演習に従って、プログラムをiphoneから本でユニバーサルに変更する必要がある場合、xcodeはMainWindow-iPad.xibを自動的に作成しますが、私のxcodeはそうしません。また、本の最初のプログラムにはファイル MainWindow.xib がありますが、私は持っていません。私は今どうすればいい?MasterViewController.xib (ナビゲーション テンプレート) を変更すると、変更は iPhone シミュレータ バージョンにも適用されます。

4

3 に答える 3

1

コメントに従って質問を言い換えます。

smb がユニバーサル プログラムを作成したい場合、xibs は ipad と iPhone で異なる必要がある場合、どうすればよいですか?

appDelegate でこれを行います。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        self.viewController = [[HWViewController alloc] initWithNibName:@"HWViewController_iPhone" bundle:nil];
    } else {
        self.viewController = [[HWViewController alloc] initWithNibName:@"HWViewController_iPad" bundle:nil];
    }
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

そのコードは、XCode の Single View Template から直接取得されますが、コードはテンプレートの有無にかかわらず有効です。

1 つは "HWViewController_iPhone.xib" と呼ばれ、もう 1 つは "HWViewController_iPad.xib" と呼ばれる 2 つの別個の xib ファイルがあると想定しています。コード内の文字列と一致する限り、名前は重要ではありませんinitWithNibName:(コード内の '.xib' を省略します)。

New > File > User Interface > View を使用して、XCode で xib ファイルを作成できます。

于 2013-08-16T18:07:34.557 に答える