アプリケーションをアクティブにすることなくウインドウを元に戻します
- (void)unhideWithoutActivation
Swift
func unhideWithoutActivation()
解説
アプリケーションをアクティブにすることなくウインドウを元に戻します。
このメソッドが開始するとき、デフォルトの通知センターにNSApplicationWillUnhideNotificationをポストします。
うまくいけばNSApplicationDidUnhideNotificationをポストします。
返り値
なし
引数
なし
フレームワーク
ApplicationKit
クラス
NSApplication
使用可能
10.0
編集時のバージョン
10.14.5
Swift4.2
参照
- activateIgnoringOtherApps
- hide
- applicationDidUnhide: (NSApplicationDelegte)
- applicationWillUnhide: (NSApplicationDelegte)
例文
#import "Controller.h" @implementation Controller NSTimer *timer=nil; - (IBAction)pushButton:(id)sender { [[NSApplication sharedApplication] hide:nil]; NSDate *theDate = [NSDate dateWithTimeIntervalSinceNow:10]; //10秒後にタイマー起動 //userInfoに使う辞書を作成 NSDictionary *userInfoDictionary =[NSDictionary dictionaryWithObjectsAndKeys: self,@"key",nil]; //タイマー作成 timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target: self selector: @selector(timerControl:) userInfo: userInfoDictionary repeats:NO]; //起動時間セット [timer setFireDate:theDate]; [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSModalPanelRunLoopMode]; } -(void) timerControl:(NSTimer *)aTimer { [NSApp unhideWithoutActivation]; } //デリゲートメソッド - (void)applicationWillUnhide:(NSNotification *)aNotification { NSLog(@"applicationWillUnhide"); } - (void)applicationDidUnhide:(NSNotification *)notification { NSLog(@"applicationDidUnhide"); } @end
Swift4.2
@IBAction func function013(_ sender: Any) { print("function013 called") //タイマー作成let timer let timer1 = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(ViewController.action013_1), userInfo: nil, repeats: false) //タイマー作成let timer let timer2 = Timer.scheduledTimer(timeInterval: 10.0, target: self, selector: #selector(ViewController.action013_2), userInfo: nil, repeats: false) print("timer1 Object: \(timer1).") print("timer2 Object: \(timer2).") } //method for timer @objc func action013_1() { print("hide")//ここは実行される let anApplication = NSApplication.shared anApplication.hide(self) //非表示 } //method for timer @objc func action013_2() { print("unhide")//ここは実行される let anApplication = NSApplication.shared anApplication.unhideWithoutActivation()//表示 }
Swift
//NSApplication unhideWithoutActivation: @IBAction func function034(sender: AnyObject) { //共有アプリケーションインスタンスを取得 let anApplication = MyApplication.sharedApplication() //アプリケーションを隠す anApplication.hide(self) NSLog("I will unhide after 5 minutes") //タイマー作成 var timer = NSTimer.scheduledTimerWithTimeInterval(5.0, target: self, selector: Selector("unhideAppwithoutAct:"), userInfo: nil, repeats: false) } //タイマーが起動した時の実行メソッド func unhideAppwithoutAct(timer:NSTimer!) { NSLog("unhide now")//ここは実行される let anApplication = NSApplication.sharedApplication() //アプリケーション終了 anApplication.unhideWithoutActivation() NSLog("end") }