0

UIButtonタッチするたびに変数をインクリメントするものがすでにあります。私が今やりたいのは、これに触れたままのときUIButton、変数は0.5秒ごとにそれ自体をインクリメントします。

何か案は?

4

1 に答える 1

1

UIControlEventTouchDownタイマーを開始するイベントにアクションを追加します。オンUIControlEventTouchUpOutsideまたはUIControlEventTouchUpInsideタイマーを停止します。

[button addTarget:self action:@selector(touchedButton:) 
 forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(releasedButton:) 
 forControlEvents:UIControlEventTouchUpOutside | UIControlEventTouchUpInside];

- (void)touchedButton:(id)sender {
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.5f target:self 
                  selector:@selector(timerFired:) userInfo:nil repeats:YES];
}

- (void)releasedButton:(id)sender {
    [self.timer invalidate];
}

- (void)timerFired:(NSTimer *)timer {
    counter++;
}
于 2012-10-03T14:35:55.070 に答える