すると、検索バーが空になったときに削除しますかwan'tなぜ分からないのですが、あなたはこのようにそれを行うことができます。
import UIKit
class ViewController: UIViewController, UISearchBarDelegate{
private var search : UISearchBar!
override func viewDidLoad() {
super.viewDidLoad()
search = UISearchBar()
search.frame = CGRectMake(0, 0, 200, 200)
search.delegate = self
self.view.addSubview(search)
}
func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
let char = text.cStringUsingEncoding(NSUTF8StringEncoding)!
let isBackSpace = strcmp(char, "\\b")
if (isBackSpace == -92) {
print("Backspace was pressed")
}
return true
}
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
search.text = " "
}
}
}
これはUISearchBarDelegateの使用を取り、バックスペースであるかどうかを調べてshouldChangeTextInRange関数を介して押されます。文字列が空の場合、空白を再適用して連続的に削除可能にします。それはちょっと面白いですが、そうでなければ空欄のときに登録しないので、私がそれを行う唯一の方法です。
ご希望の場合は、ご利用ください。
で追加してくださいshouldChangeTextInRange文字列の文字数== 0のときにtrueを返します –
検索バーが空のときに削除を検出したいのはなぜですか? – hariszaman
@Ramkumarあなたのコメントを誤解した場合は申し訳ありません。私はiOSには比較的新しいアプリです。私が正しく理解している場合、shouldChangeTextInRangeは、テキストが変更されたときにのみ呼び出されます。ただし、テキストが空で、「削除」を押すと、テキストは実際には変更されず、呼び出されません。 – moka2258