我的 ViewController 包含表格视图。我从 JSON 获取数据,并且已经能够在表格视图单元格中显示此值。 搜索栏也可用于过滤目的。
我想将表格查看单元格文字作为我的搜索栏 单击该特定单元格时占位符。
我希望 Baramunda 作为我的占位符文字,同时点击该特定单元格。
我的相同代码如下。
func searchBar(){
let searchBar = UISearchBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 50));
searchBar.delegate = self
searchBar.showsScopeBar = true
searchBar.tintColor = UIColor.green
self.view .addSubview(searchBar)
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == ""
{
tableView.alpha = 0.0
searchBar.placeholder = "Search Location Here"
parseData()
}
else {
if searchBar.selectedScopeButtonIndex == 0 {
tableView.alpha = 1.0
areaNameArr = areaNameArr.filter({ (anyobject) -> Bool in
return (anyobject.lowercased.contains(searchText.lowercased()))
})
}
else {
print("Do Nothing")
}
}
self.tableView.reloadData()
}
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return areaNameArr.count
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell" )
cell?.backgroundColor = UIColor .black
cell?.textLabel?.textColor = UIColor .white
cell?.textLabel?.text = areaNameArr[indexPath.row] as? String
return cell!
}
答案 0 :(得分:0)
我现在没有xcode,但是以下应该可以使用。
在tableView
的didSelectCell委托方法中添加以下代码var searchTextField: UITextField? = searchBar.value(forKey: "searchField") as? UITextField
if searchTextField!.responds(to: #selector(getter: UITextField.attributedPlaceholder)) {
let attributeDict = [NSAttributedStringKey.foregroundColor: UIColor.white]
searchTextField!.attributedPlaceholder = NSAttributedString(string: "Search", attributes: attributeDict)
}
答案 1 :(得分:0)
您需要将searchBar变量声明为global,以便在函数searchBar()之外访问。
matched_SNPs[2:5] <- lapply(matched_SNPs[2:5], function(x) as.numeric(as.character(x)))
如果这对您没有帮助,请告诉我