我对此还是很陌生,但是我对为什么我每次输入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)
}
}
答案 0 :(得分:0)
添加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)
}
}