我的 UI 搜索栏不起作用/向其他站点发送请求
Posted
技术标签:
【中文标题】我的 UI 搜索栏不起作用/向其他站点发送请求【英文标题】:My UIsearch bar does not work/send request to other sites 【发布时间】:2018-10-09 22:05:44 【问题描述】:我还是新手,但我很困惑为什么我的搜索栏在我输入 url 地址时不起作用。我正在尝试制作一个视频下载器应用程序。
import UIKit
import AFNetworking
import Alamofire
class ViewController: UIViewController
@IBOutlet var Webview: UIWebView!
@IBOutlet var SearchBar: UISearchBar!
override func viewDidLoad()
if let url = URL(string: "https://www.google.com")
let requestObj = URLRequest(url: url)
Webview.loadRequest(requestObj)
SearchBar.text = "http://"
func searchBarSearchButtonClicked(searchbar: UISearchBar)
searchbar.resignFirstResponder()
let text = SearchBar.text
let url = NSURL(string: text!)
let request:URLRequest = URLRequest(url: url! as URL)
//let request = NSURLRequest(URL: url! as URL)
Webview.loadRequest(request)
【问题讨论】:
另外请注意,您将强制解开 searchbar.text 并使用它来创建您的 url 请求。如果输入的 url 无效,它将导致异常。 UISearchBarDelegate 协议也是你需要遵守的,为了知道输入的文本何时发生变化,你可以使用此方法使用所需的搜索文本来创建一个 url 请求。 【参考方案1】:添加UISearchBarDelegate
协议方法以触发搜索栏协议方法;
class ViewController: UIViewController, UISearchBarDelegate, UIWebViewDelegate
override func viewDidLoad()
SearchBar.delegate = self
webview.delegate = self // connect your webview in storyboard
// MARK: - UISearchView Delegates
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
func searchBarSearchButtonClicked(searchbar: UISearchBar)
// call your function here
let searchText = searchbar.text!
let url = URL (string: searchText)
let requestObj = URLRequest(url: url!)
webView.loadRequest(requestObj)
【讨论】:
我是否对 func 搜索栏进行了任何更改?或者离开它 在您的 searchButtonClicked 操作中添加相同的代码 我希望现在它触发 searchBarSearchButtonClicked 功能,当你输入搜索按钮(从键盘)。以上是关于我的 UI 搜索栏不起作用/向其他站点发送请求的主要内容,如果未能解决你的问题,请参考以下文章