ウインドウのモーダルセッションを開始します
-(NSModalSession)beginModalSessionForWindow:(NSWindow *)aWindow:
func beginModalSessionForWindow(_ aWindow: NSWindow) -> NSModalSession
解説
ウインドウのモーダルセッションを開始します。
モーダルセッションでは、アプリケーションはaWindowでのみ発生したマウスイベントを受け取ります。
ウインドウはすでに表示されていない場合、NSWindowのメソッドcenterを使ってスクリーンに配置される、キーウインドウになります。
beginModalSessionForWindow:メソッドはモーダルセッションをセットアップするだけです。
実際にセッションを実行するにはrunModalSession:を使用します。
モーダル監視は自分で行わなければなりません。
NS_DURINGブロックで例外をキャッチするようにします。
返り値
( NSModalSession )
NSModalSession構造体
モーダルセッション
引数
( NSWindow * )aWindow
ウインドウ
フレームワーク
ApplicationKit
クラス
NSApplication
使用可能
10.0
編集時のバージョン
10.10
参照
例文
#import "Controller.h" @implementation Controller NSModalSession mSession; - (IBAction)startModal:(id)sender { int modalCode; [NSApp stopModal]; mSession = [NSApp beginModalSessionForWindow:panelWin]; //モーダルの状態を監視 do { //例外のハンドリング NS_DURING modalCode = [NSApp runModalSession: mSession]; NS_HANDLER NSLog(@"%s\n", [[localException name] cStringUsingEncoding:NSASCIIStringEncoding]); NS_ENDHANDLER NSLog(@"--- noumal "); } while (modalCode == NSRunContinuesResponse); } - (IBAction)endModal:(id)sender { [NSApp stopModal]; [NSApp endModalSession:mSession]; [panelWin orderOut: self]; } @end
//NSApplication beginModalSessionForWindow runModalSession @IBAction func function014(sender: AnyObject) { NSLog("beginModalSessionForWindow") var modalCode:NSInteger; NSApp.stopModal() let anApplication = MyApplication.sharedApplication() var session:NSModalSession = anApplication.beginModalSessionForWindow(newWindow) do{ modalCode = NSApp.runModalSession(session) NSLog("loop") }while (modalCode == NSRunContinuesResponse) NSLog("end") anApplication.endModalSession(session) }