我目前有一个运行良好的UISearchBar,但是,我注意到当在searchBar中输入撇号时,它不会返回任何结果。例如:如果我有一个字符串:Bob's如果我搜索Bob,它会返回上述字符串,但是,只要我在searchBar中输入撇号:**Bob'**搜索栏不返回任何结果。
我已经在网上搜索解决方案,但是,没有找到任何工作。任何回应将不胜感激,谢谢。
UI搜索条形码:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText.isEmpty {
filteredData = data
} else {
filteredData = data.filter{$0.title.range(of: searchText, options: .caseInsensitive) != nil }
}
self.tableView.reloadData()
}
}
结构:
struct Category {
let title: String
let items: [String]
}
阵列:Category(title: "Bob's ", items: ["Data: xxx", "Data: xxx", "Data: xxx",]),
函数处的单元格行:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MyTableViewCell
let title = filteredData[indexPath.row].title
cell.myLabel.text = title
cell.myImg.image = UIImage(named: title + ".png")
return cell
}
}
**在searchBar中键入撇号时控制台中返回的输出:**filteredData = []
2条答案
按热度按时间zbdgwd5y1#
这个问题已经解决了。原来撇号有很多变体。有U+0027(')和U+2019(')。U+2019(')是iPhone上的默认撇号,可以与上面的UISearchBar代码一起使用。希望这能帮助任何和我有同样问题的人。
0tdrvxhp2#
我能够解决同样的问题,通过改变文本输入的特点,在故事板的UISearchBar如下。希望这有助于