2

質問があります。私はいくつかの iPhone アプリケーションを実行していますが、今は小さな Mac アプリケーションを実行したいと考えています。

クリーンなアプリケーションから、MainMenu xib にボタンを追加し、NSViewController を (IB から) 1 つのアクションで MainMenu に追加します。nib ファイルとボタンを使用して、新しい NSViewController (FirstViewController) を作成します。ここで、MainMenu から FirstController をプッシュする関数と、FirstController から MainMenu をプッシュする単純な関数を作成するだけです。

このようなもの

ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController: ViewController animated:YES];

どうすればできますか?

4

2 に答える 2

5

あなたは iOS スタイルのインターフェースを MacOS X に持ち込もうとしていると思いますが、それは多くの場合うまくいきません。MacOS X のユーザー インターフェイスは、iOS のユーザー インターフェイスとは大きく異なります。

iOS アプリは 1 つの (多くの場合小さな) ウィンドウに制限されており、ユーザーは通常、一度に 1 つのことを行います。ナビゲーション インターフェイスは、ユーザーがタスクのさまざまな部分をドリルダウンする方法を標準化し、ジャーニーが予測可能になるようにします。ユーザーがアプリのさまざまな部分の間を常に移動しているという意味で、インターフェイスは非常にモーダルであり、ユーザーのアクションはアプリのアクティブな部分にリンクされていることがよくあります。

一方、デスクトップには十分な画面スペースがあり、複数のウィンドウを使用できます。デスクトップ アプリはモードレスである必要があります。ユーザーはアプリ内を移動するのではなく、目の前に配置されたすべてのものを見ることができます。可能な限り、ユーザーはいつでも任意のアクションを実行できる必要があります。

これらの理由から、Cocoa Touch の UINavigationController のようなナビゲーション コントローラーは Cocoa にはありません。2 つのビュー コントローラーが管理するタスクについて詳しく教えていただければ、おそらくここにいる誰かが、期待されるデスクトップ エクスペリエンスにそれをより適切に変換する方法を考えるのを手伝ってくれるでしょう。

于 2011-07-20T22:44:12.713 に答える
0

ここでは、Apple が iOS から OS X への移行戦略について説明します。あなたのシナリオはここでも議論されています:

たとえば、AppKit は NSBrowser クラスを使用して階層情報の表示を管理します。対照的に、iOS アプリはナビゲーション コントローラーを使用します。

添付の画像に示すように、ここでNSBrowser が使用されており、出力が表示されます。

ここに画像の説明を入力

于 2015-03-28T14:41:55.457 に答える