gpt4 book ai didi

ios - UISearchBar 在 Swift 中完成后如何停止 UIActivityIndi​​cator

转载 作者:行者123 更新时间:2023-11-29 01:15:16 25 4
gpt4 key购买 nike

所以我的设置:

我有一个使用 Parse 设置的应用程序,我正在使用 PFQueryTableViewController。我在屏幕上添加了一个 UISearchBar。我已将此搜索全部设置好并且工作正常。

问题:为了让用户更清楚地知道正在执行搜索,我想添加一个 UIActivityIndi​​cator 以便他们可以看到正在加载的内容。我还将 beginIgnoringInteractionEvents() 以便他们在搜索完成之前无法使用该应用程序。

我目前在如何让 UIActivityIndi​​cator 停止动画以及如何让 endIgnoringInteractionEvents() 方面遇到问题 - 我只是想不出我应该把它放在哪里代码:

spinningActivityIndi​​cator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()

我已将我的 UIActivityIndi​​cator 代码放在 func searchBarSearchButtonClicked(searchBar: UISearchBar) 方法中,这样一旦他们在键盘上单击搜索,微调器就会启动。

但是我可以在哪里放置代码来停止动画并再次启用该应用程序?

我为UISearchBar添加的代码如下:

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {

searchBar.showsCancelButton = true

self.loadObjects()

}

func searchBarTextDidEndEditing(searchBar: UISearchBar) {

// Dismiss the keyboard
searchBar.resignFirstResponder()

// Force reload of table data
self.loadObjects()
}

func searchBarSearchButtonClicked(searchBar: UISearchBar) {

// Dismiss the keyboard
searchBar.resignFirstResponder()

spinningActivityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
spinningActivityIndicator.center = self.view.center
spinningActivityIndicator.hidesWhenStopped = true
spinningActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
view.addSubview(spinningActivityIndicator)
spinningActivityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()

searchBar.showsCancelButton = false

// Force reload of table data
self.loadObjects()

}

func searchBarCancelButtonClicked(searchBar: UISearchBar) {

// Clear any search criteria
searchBar.text = ""

// Dismiss the keyboard
searchBar.resignFirstResponder()

// Force reload of table data
self.loadObjects()
}

func queryForTable() -> PFQuery 中我添加了:

    if filmSearchBar.text != "" {
query.whereKey("FilmName", containsString: filmSearchBar.text!)

}

提前致谢!

最佳答案

我刚刚查看了一些关于 PFQueryTableViewController 的文档,有一个方法 objectsDidLoad() 看起来很有前途。因此,尝试在您的 queryForTable() 函数下面添加:

override func objectsDidLoad(error: NSError?) {
super.objectsDidLoad(error)
// Your code here to stop the UIActivityIndicator
}

您可以在函数内添加 print("objectsDidLoad") 以查看它是否有效。

关于ios - UISearchBar 在 Swift 中完成后如何停止 UIActivityIndi​​cator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com