setPeriodicDelay:interval:
メッセージ送信の遅延と間隔をセットします
- (void)setPeriodicDelay:(float)delay interval:(float)intervalfunc setPeriodicDelay(_ delay: Float, interval interval: Float)
解説
メッセージ遅延と間隔をセットします。
連続でメッセージを送る場合にボタンを押してメッセージを送信して、次に送信するまでの時間が「遅延」(delay)、そのあと連続的に送信する間隔が「間隔」(interval)。
遅延と間隔の最大値は、60.0秒です。それ以上の値をセットしても無視されて60.0秒が使われます。
メッセージの連続送信は、continuousをYES(Swiftではtrue)にします。デフォルトではメッセージの連続送信はしません。continuousプロパティはNSConrrolにあります。
Swift
theButton.continuous = true //メッセージを繰り返し送信する
返り値
なし
フレームワーク
ApplicationKit
クラス
NSButton
使用可能
10.0
参照
関連記事(外部リンク)
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { float de; float iv; [sender getPeriodicDelay: &de interval: &iv]; NSLog(@"delay %.1f interval %.1f",de,iv); [sender setPeriodicDelay:0.1 interval:0.2]; [sender getPeriodicDelay: &de interval: &iv]; NSLog(@"delay %.1f interval %.1f",de,iv); } @end
//NSButton setPeriodicDelay //http://cocoaapi.hatenablog.com/entry/00011013/NSButton_setPeriodicDelay_interval_ //Swift2.0 var counter004 : Int = 0 func buttonAction004(sender: AnyObject?){ //var theWindow : NSWindow = (sender as! NSButton).window! (sender as! NSButton).title = String(counter004++) } @IBAction func function004(sender: AnyObject) { //ウインドウ作成 let aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, `defer`: false, screen: NSScreen.mainScreen()) windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄 aWindow.center()//ウインドウをスクリーンの中心に aWindow.title = "ウインドウタイトル"//タイトル設定 //ボタン作成 let theButton : NSButton = NSButton(frame: NSMakeRect(50.0, 50.0, 100.0, 30.0)) theButton.title = "Change"//タイトル theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle//スタイル theButton.action = Selector("buttonAction004:")//ボタンを押した時に動かす関数 theButton.target = self//ターゲット theButton.continuous = true //メッセージを繰り返し送信する var floatValue1 : Float = 0 //delayを入れる var floatValue2 : Float = 0 //intervalを入れる theButton.getPeriodicDelay(&floatValue1, interval: &floatValue2) //-> : 0.400000,2 : 0.075000 theButton.setPeriodicDelay(0.5,interval :0.3) aWindow.contentView!.addSubview(theButton) aWindow.orderFront(self)//前面に aWindow.makeKeyAndOrderFront(self)//表示 }
編集時のバージョン
10.10