私はUITextFieldを使用しています。ユーザがテキストフィールドをテーピングしているときに関数をトリガしたいのですが、関数をトリガする前に1/4秒待つ必要があります。Swift - UITextField - ジェスチャ認識ツールの遅延
どうすればいいですか?
私はUITextFieldを使用しています。ユーザがテキストフィールドをテーピングしているときに関数をトリガしたいのですが、関数をトリガする前に1/4秒待つ必要があります。Swift - UITextField - ジェスチャ認識ツールの遅延
どうすればいいですか?
まず、あなたは、例えばIBActionを作成する必要があります。changeTextField(あなたはスクリーンショットを参照)
screenshot: create an IBAction for Editing changed event
第二には、
@IBAction func changeTextField(sender: AnyObject) {
NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: #selector(ViewController.functionWithDelay), object: nil)
self.performSelector(#selector(ViewController.functionWithDelay),
withObject: nil,
afterDelay: 1/4);
}
第三に、このコードを追加し、あなたは
func functionWithDelay() {
print("running...")
}
私が望むようにうまくいかない。 キーボードを押すたびに「functionWithDelay」が呼び出されます。 1/4秒以上タップしていないときにのみ関数を呼び出すようにしたい –
コード更新:1/4秒より前にキーボードを打つと、cancelPreviousPerformRequestsWithTargetの呼び出しを追加しました – David
これは完璧です。 –
機能します\t performSelector( "targetMethod"、withObject:nil、 afterDelay:4.0)メソッド。 – iMuzahid