- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试实现搜索功能。它将接受用户的输入,并在按下搜索按钮时返回结果。我有搜索 This example .
但是这个例子对我没有用。我有一个这样的 cade。
override func viewDidLoad() {
super.viewDidLoad()
// Setup the Location Search bar Controller
let locationSearchTable = storyboard!.instantiateViewController(withIdentifier: "SearchViewController") as! SearchViewController
resultSearchController = UISearchController(searchResultsController: locationSearchTable)
resultSearchController?.searchResultsUpdater = locationSearchTable
searchBar = resultSearchController!.searchBar
searchBar.sizeToFit()
searchBar.placeholder = "Search"
searchBar.delegate = self
navigationItem.titleView = resultSearchController?.searchBar
resultSearchController?.hidesNavigationBarDuringPresentation = false
resultSearchController?.dimsBackgroundDuringPresentation = true
definesPresentationContext = true
}
Another Function is
extension SearchViewController : UISearchResultsUpdating, UISearchBarDelegate {
func updateSearchResults(for searchController: UISearchController) {
self.view.isHidden = false
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
self.viewList.removeAll()
getListOfItem(searchBar.text!)
}
}
And my
getListOfItem
taking data from data base and after receiving data i am reloading myUITableView
from that function.
func getListOfItem(_ query : String){
if !loadingData {
self.viewList.removeAll()
}
let request = NSMutableURLRequest(url: URL(string: MyUrl.API_SERVER_URL)!)
request.httpMethod = "POST"
let postString = "tag=search&p=\(query)&page=\(String(pageNo))"
print("postString=\(postString)")
DispatchQueue.main.async {
self.startSpinner()
}
request.httpBody = postString.data(using: String.Encoding.utf8)
let task = URLSession.shared.dataTask(with: request as URLRequest) {
data, response, error in
if(error != nil){
self.loadingData = false
DispatchQueue.main.async {
self.stopSpinner()
}
let nsError = error! as NSError
let dialog = UIAlertController(title: "Internal Server Error?", message: nsError.localizedDescription, preferredStyle: UIAlertControllerStyle.alert)
dialog.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
DispatchQueue.main.async(execute: {
self.present(dialog, animated: true, completion: nil)
})
} else{
self.loadingData = false
do {
var success : Int = 0
let jsonObj = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String : AnyObject]
success = jsonObj["success"]! as! Int
if success == 1 {
let json = jsonObj["data"]as? NSArray
self.pageNo = self.pageNo + 1
DispatchQueue.main.async {
for i in 0 ..< json!.count {
let productObj = json![i]as? [String: AnyObject]
let newModel = Search()
newModel.attributeId = productObj!["AttributeID"] as? String
newModel.attributePrice = productObj!["AttributePrice"] as? String
newModel.imageURL = productObj!["ImageURL"] as? String
newModel.inventoryCurrent = productObj!["InventoryCurrent"] as? String
newModel.pageText = productObj!["PageText"] as? String
newModel.productDescription = productObj!["ProductDescription"] as? String
newModel.pageURL = productObj!["PageURL"] as? String
newModel.productID = productObj!["ProductID"] as? String
newModel.productName = productObj!["ProductName"] as? String
newModel.thumbURL = productObj!["ThumbURL"] as? String
newModel.internationalShipping = productObj!["internationalShipping"] as? String
newModel.maxQty = productObj!["maxQty"] as? String
newModel.productDisplay = productObj!["productDisplay"] as? String
self.viewList.append(newModel)
}
}
}
DispatchQueue.main.async {
print("reload")
self.checkItems()
self.viewListTable.reloadData()
//self.view.layoutIfNeeded()
}
} catch {
}
DispatchQueue.main.async(execute: {
self.stopSpinner()
})
}
}
task.resume();
}
This function is getting data from data base and also reloading
myTableView
. Result is not showing until i clicked oncancel
button ofUISearchBar
. Please help me for that thanks.UPDATED I have just resolve that issue after adding some code in
searchBarSearchButtonClicked()
i have addself.resultSearchController?.view.isHidden = true
this line but here i can not scroll my table directly. Means i can scroll my table after on tap on that
最佳答案
After Adding some line of code in my
searchBarSearchButtonClicked
. My problem is getting resolved.
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
self.viewList.removeAll()
self.searchBar.resignFirstResponder()//This Line Remove the keyboard
self.resultSearchController?.view.isHidden = true // This line Hide current View
self.viewListTable.reloadData()
pageNo = 1
self.searchStr = searchBar.text! // This Line taking a search string into global variable for future use.
self.resultSearchController?.isActive = false // This Line for inActivate searchView.
getListOfItem()
}
Before using
Make Sure
the hierarchy of all line which is written in that function.
关于ios - 用户界面搜索栏不显示结果,直到没有点击取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44718469/
我正在阅读 Youtube 上的 Kubernetes 教程,发现以下 UI 演示了 Kubernetes 集群的 pod 和服务安排。如何在我的 Kubernetes 设置中安装此 UI? 最佳答案
这只是一个快速的(我希望)。 我最近访问了 jquery ui 对话框页面,查看在对话框中使用表单 http://jqueryui.com/dialog/#modal-form我注意到一些我以前没有见
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想用 Java 为一个程序创建一个用户界面,让用户能够构建一棵节点树,每个节点执行一项特定的任务。该程序的界面与 Softimage Ice 非常相似,您可以通过单击 http://vimeo.co
下面是我在 SwiftUI 中创建 View 的代码。我要定位我的 欢迎按钮 到屏幕底部,如下所示。 struct welcomeViewControllerView: View { va
我目前有一个文本编辑器,我希望能够像这样在笔记应用程序中添加文本格式: 我试过 UITextView.allowsEditingTextAttributes = true但它似乎没有用。 任何想法将不
我不知道如何使用HDFS连接我的网站(我什至不确定是否有可能)。 我的网站基于PHP。我想存储有人点击我的网站的区域,如何将我的PHP与HDFS连接起来? 是否涉及任何插件?如果我希望这些信息被实时存
我正在寻找用 javascript 编程的新方法。我的目标是创建像 GMail 这样的 javascript 应用程序。我试过 GWT,但它接缝太复杂,而且代码也不时尚。 我发现 MVC 模式是一种很
我有多个渐变作为我的应用程序的主题。当渐变(存储在变量中)是特定的时,我想要一个 bool 值变为真。但是,我不断收到错误消息: "Binary operator '==' cannot be app
我有一个有很多类别的测验应用程序: 类别 1 列出第 1 项 列出第 2 项 类别 3 第 4 类 第 5 类 列出第 1 项 列出第 2 项 列出第 3 项 所以类别要么是指一般的不可选择的类别,即
如果我单击仅搜索“2018”的搜索按钮,但如果我在搜索“2018 歌曲”的电脑上按回车按钮,我想搜索“2018”,如果我在电脑上按回车按钮,我怎么能使用 Autocomplete | jQuery U
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在尝试为患有轻度认知障碍的祖母创建一个安卓平板电脑应用程序。该应用程序的功能之一是智能调度程序/提醒。例如:该应用程序会说“您服用红色药丸了吗?”是或否。如果没有或没有回复,则会向我的手机发送一条
有没有办法确保我的 Android UI 在不同手机上按预期显示? 最佳答案 遍历 developers guide on supporting multiple screens .它为您提供有关该主
我正在为 iPad 和 iPhone 创建一个通用应用程序。我有一个 UITextField,我希望用户在其中输入歌曲的名称或在他们的 iTunes 库中找到的任何声音媒体文件。我的问题不是关于查询图
这个问题在这里已经有了答案: Making a Chess Game with jQuery UI. I have used Draggable, but i need to make them n
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我想从选择器中获取所选项目以更新 Firebase 数据库中的一些数据,但是当我使用 onTapGesture 时不起作用 注意:选择器中的项目是字符串 我的代码: Picke
我需要我的应用程序在启动时配置后端,这是执行此操作的函数: // Initializes Amplify final func configureAmplify() async { do {
我有这个 Web 应用程序,其中一个模块使用了过多的 ui:include。 前任。 页面 1.0 包括 --> page1.1 包括页面 2.0 包括 --> 页面 2.1 页面 1.0 包括 --
我是一名优秀的程序员,十分优秀!