そう、
アプリにボタンがあり、押したままにするとカメラからのフレームが記録されます。ボタンが離されると、出力が処理されます。ビデオには最大 10 秒もあります。そのため、それ以降はビデオを処理する必要があります。
私が抱えている問題は、ユーザーがボタンを押し続けられることです (後でボタンを離すと、完了イベントがトリガーされます) - ボタンを強制的に離す方法はありますか?
そう、
アプリにボタンがあり、押したままにするとカメラからのフレームが記録されます。ボタンが離されると、出力が処理されます。ビデオには最大 10 秒もあります。そのため、それ以降はビデオを処理する必要があります。
私が抱えている問題は、ユーザーがボタンを押し続けられることです (後でボタンを離すと、完了イベントがトリガーされます) - ボタンを強制的に離す方法はありますか?
およびイベントUIControlEventTouchDown
を使用できます。startRecording メソッドにタイマーを追加できます。UIControlEventTouchUpInside
UIControlEventTouchCancel
[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];
[self performSelector:@selector(functionThatTakesOneArgument:) withObject:myArgument afterDelay:10];
遅延後にいくつかの機能を実行するために使用できます。したがって、これをボタンダウン コードに挿入すると、作業を行う関数を呼び出すことができます。
また、ボタンアップ イベントを呼び出すfunctionThatTakesOneArgument:
ので、2 回オフにならないように確認することをお勧めします。
ビューから 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
}
}