首先,不是这不是骗局我在这里尝试过很多类似问题的答案都无济于事。
当我按下hideButton并运行removeFromSuperview()时,删除了OneView,当我按下menuButton时,会重新创建OneView但不接受输入?有人可以帮忙吗?
theOneView是我的viewcontroller视图。
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet var MyView: UIView!
@IBAction func showButton(_ sender: Any) {
print ("Show")
if (MyView != nil){
MyView.removeFromSuperview()
}
let webView = WKWebView(frame: MyView.frame)
let inputURL = URL(string: "https://google.com")
webView.load(URLRequest(url: inputURL!))
MyView.addSubview(webView)
self.view.addSubview(MyView)
//theOneView.bringSubview(toFront: webView)
//self.view.bringSubview(toFront: theOneView)
}
@IBAction func hideButton(_ sender: Any) {
print ("Hide")
MyView.removeFromSuperview()
}
}
答案 0 :(得分:2)
来自文档:
func removeFromSuperview()
取消链接视图与其超级视图及其窗口,并将其删除 来自响应者链。如果视图的superview不是nil,那么 superview发布视图。调用此方法将删除任何 引用要删除或引用的视图的约束 您要删除的视图子树中的任何视图。
相反,您应该使用视图的hidden
属性。