2

かなり前から探していましたが、何も見つからず、作成できるウィンドウが既にありますが、makeKeyAndOrderFrontを呼び出そうとすると、呼び出すアプリケーションがなかったので、誰かがアプリケーションを作成する方法について簡単な例を挙げられるかどうか疑問に思いますか?NSApplicationであり、setDelegateなどが必要であることがわかりましたが、正確に何が必要かわかりません。たとえば、ウィンドウを作成するには、次のコードが必要です。

NSWindow *window;
window = [[NSWindow alloc] initWithContentRect: NSMakeRect(10, 100, 150, 200)
    styleMask:( NSResizableWindowMask | NSClosableWindowMask | NSTitledWindowMask)
    backing: NSBackingStoreBuffered
    defer: NO];
[window setTitle: @"Test window"];

だから誰でも私に関連するコードを与えることができますが、NSApplicationの場合、私はすでにボタンとウィンドウを持っていますか?

4

2 に答える 2

4

これを完全にコードで行い、ペン先をまったく使用しないようにするには、最初NSMainMenuNibに Info.plist ファイルからエントリを削除する必要があります。次に、でmain

  1. 自動解放プールを作成します。
  2. NSApplication クラスに共有アプリケーション オブジェクトを要求します。以前に共有アプリケーション オブジェクトを要求したことがない場合は、作成されます。
  3. メイン メニューを保持する NSMenu を作成します。標準メニューごとにメニュー項目を作成してから、標準メニューごとにメニューを作成し、各メニューをメニュー項目のサブメニューとして設定します。メニューごとに、そこに入れる項目を作成します。タイトルをローカライズし、適切なキーに相当するものを設定することを忘れないでください。最上位メニューをアプリケーションのメイン メニューとして設定します。
  4. ウィンドウが 1 つのアプリケーションの場合、この時点でウィンドウを作成し、そのコンテンツ ビューを作成して指定し、必要なビューを作成してコンテンツ ビューに追加し、ウィンドウを並べます。
  5. アプリケーションに実行を指示します。
  6. プールを排水します。
  7. 正常に終了します。

それが最低限のことです。デリゲートの設定は、通常どおりオプションです。

通常の方法でアプリケーションを作成すると、IB で行うサブビューの作成と追加を除いて、これらすべてが自動的に行われます。

于 2011-06-18T05:52:05.447 に答える
3

Xcode で利用可能なテンプレートの 1 つから開始するだけです。その後NSApplication、自動的に設定されます。

すべてをコーディングするという困難な方法でやりたい場合は、この一連のブログ記事「Working Without Nibs」が役立ちます。ここから始まります。しかし、Cocoa の内部の仕組みを十分に理解していない限り、これを行う必要はありません。

ですから、人々が通常行うことに固執し、Xcode で利用可能なテンプレートから始めてください。

于 2011-06-17T15:43:17.050 に答える