2011-08-06 14 views
2

OSXアプリケーションでは、ユーザーがログインできるようにシートを使用しています。ユーザーが最初にアプリケーションを起動すると、シートが表示され、ユーザーは情報を入力する必要があります。Cocoaログインシートは、ユーザーがアプリケーションを終了できないようにします。

シートが開いている限り、ユーザーはアプリケーションを強制終了することはできません(強制終了しない限り)。

ログインが重要なので、私はキャンセルボタンを提供したくありません。

答えて

6

ただ、それに応じてNSWindowpreventsApplicationTerminationWhenModalプロパティを設定します。

- (void)windowDidLoad { 
    [[self window] setPreventsApplicationTerminationWhenModal:NO]; 
} 
+1

をうーん、これは私が必要な財産であると考えられます。しかし、私は 'mainWindow'と呼ばれるウィンドウのコンセントを持っていますが、このようなプロパティを設定すると、ユーザーはアプリケーションを終了できなくなります: '[self.mainWindow setPreventsApplicationTerminationWhenModal:NO];' 私は何が欠けていますか? – Besi

+1

_あなたはこのプロパティを変更しますか? '-awakeFromNib'、' -windowDidLoad'、または '-loadView'の最後に(あなたの設定に応じて)' self.mainWindow!= nil'を実行する必要があります。また、ウィンドウがすでに表示されている場合は、このプロパティの変更は無視されます(わかりません)。 – gcbrueckmann

+1

それは今働いた。問題は、モーダルウィンドウであるシートウィンドウではなく、基礎となるウィンドウにプロパティを設定したことです。したがって、もちろんこのプロパティが必要です。 ありがとうございました! – Besi

関連する問題