从视图控制器中删除 WebView
Removing WebView from View Controller
我有一个 tableView,它在按下单元格后启动 URL。我正在为其创建 webView:
var webView = UIWebView(frame: self.view.bounds)
webView.scalesPageToFit = true
view.addSubview(webView)
let request = URLRequest(url: catPictureURL!)
webView.loadRequest(request)
webViewDidStartLoad(webView)
我有一个函数可以在其中创建一个关闭按钮:
func webViewDidStartLoad(_ webView: UIWebView){
print("JUHUUU")
var subView = UIView()
subView.frame.size.height = 10
subView.frame.size.width = 10
subView.frame = CGRect(x: 0, y: 50, width: 100 , height: 100)
let button = UIButton(type: .system)
button.frame = CGRect(x: 0, y: 50, width: 100, height: 100)
button.backgroundColor = UIColor.red
button.setTitle("CANCEL", for: [])
button.addTarget(self, action: #selector(webView.removeFromSuperview), for: UIControlEvents.touchUpInside)
self.view.addSubview(button)
webView.addSubview(subView)
//subView.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss")
}
我在 button.addTarget 中尝试关闭 webView 并显示上一个屏幕,但是
action: #selector(webView.removeFromSuperview)
正在删除 rootView
- 而不是 webView
(这会导致崩溃)。我真的不知道如何关闭 webView
。
PS。我也尝试过 #selector("dismiss")
并用 self.dismiss
准备一个函数,但结果是一样的。
你的行动目标是自己(也就是你的vc)。将目标设置为 webView
Self 应该更改为 webView 以便关闭它。
button.addTarget(webView, action: #selector(webView.removeFromSuperview), for: UIControlEvents.touchUpInside)
我有一个 tableView,它在按下单元格后启动 URL。我正在为其创建 webView:
var webView = UIWebView(frame: self.view.bounds)
webView.scalesPageToFit = true
view.addSubview(webView)
let request = URLRequest(url: catPictureURL!)
webView.loadRequest(request)
webViewDidStartLoad(webView)
我有一个函数可以在其中创建一个关闭按钮:
func webViewDidStartLoad(_ webView: UIWebView){
print("JUHUUU")
var subView = UIView()
subView.frame.size.height = 10
subView.frame.size.width = 10
subView.frame = CGRect(x: 0, y: 50, width: 100 , height: 100)
let button = UIButton(type: .system)
button.frame = CGRect(x: 0, y: 50, width: 100, height: 100)
button.backgroundColor = UIColor.red
button.setTitle("CANCEL", for: [])
button.addTarget(self, action: #selector(webView.removeFromSuperview), for: UIControlEvents.touchUpInside)
self.view.addSubview(button)
webView.addSubview(subView)
//subView.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss")
}
我在 button.addTarget 中尝试关闭 webView 并显示上一个屏幕,但是
action: #selector(webView.removeFromSuperview)
正在删除 rootView
- 而不是 webView
(这会导致崩溃)。我真的不知道如何关闭 webView
。
PS。我也尝试过 #selector("dismiss")
并用 self.dismiss
准备一个函数,但结果是一样的。
你的行动目标是自己(也就是你的vc)。将目标设置为 webView
Self 应该更改为 webView 以便关闭它。
button.addTarget(webView, action: #selector(webView.removeFromSuperview), for: UIControlEvents.touchUpInside)