1

そう、

アプリにボタンがあり、押したままにするとカメラからのフレームが記録されます。ボタンが離されると、出力が処理されます。ビデオには最大 10 秒もあります。そのため、それ以降はビデオを処理する必要があります。

私が抱えている問題は、ユーザーがボタンを押し続けられることです (後でボタンを離すと、完了イベントがトリガーされます) - ボタンを強制的に離す方法はありますか?

4

3 に答える 3

0

およびイベントUIControlEventTouchDownを使用できます。startRecording メソッドにタイマーを追加できます。UIControlEventTouchUpInsideUIControlEventTouchCancel

[button addTarget:target action:@selector(startRecording:) forControlEvents:UIControlEventTouchDown]

[button addTarget:target action:@selector(endRecording:) forControlEvents:UIControlEventTouchUpInside]

ボタンの使用でタッチイベントをキャンセルしたい場合:

// Call this if you wish to cancel the event tracking
[button cancelTrackingWithEvent:nil];
于 2013-05-24T18:15:38.390 に答える
0

[self performSelector:@selector(functionThatTakesOneArgument:) withObject:myArgument afterDelay:10];遅延後にいくつかの機能を実行するために使用できます。したがって、これをボタンダウン コードに挿入すると、作業を行う関数を呼び出すことができます。

また、ボタンアップ イベントを呼び出すfunctionThatTakesOneArgument:ので、2 回オフにならないように確認することをお勧めします。

于 2013-05-24T17:15:34.070 に答える
-1

ビューから UIButton を削除すると、すべてのタッチ イベントがキャンセルされます。このことを考慮:

ユーザーがボタンを押したままにします。彼らが最初に押し始めたら、電話する

[self performSelector:@selector(endRecording) withObject:nil afterDelay:10];

endRecording は次のように定義されます。

- (void)endRecording {
    if ( [ record_button isHighlighted ] ) {
        [record_button removeFromSuperView];
        [self.view addSubview:record_button];
        // TODO: Finish recording
    }
}
于 2013-05-24T18:05:36.553 に答える