在Swift中覆盖一个UIButton在一个UIWebView上



我有一个加载UIWebView的视图我想要覆盖UIButton用户可以点击去另一个视图。

我设法把按钮放在网页视图上,但我似乎不能点击它。

下面是我的代码:

class ButtonView: UIView {
    var button: UIButton!
    override init(frame: CGRect) {
        super.init(frame: frame)
        button = UIButton(frame: CGRectMake(0, 0, 50, 50))
        button.layer.zPosition = 10
        self.addSubview(button)
    }
    required init(coder aDecoder: NSCoder) {
        fatalError("Init(coder:) has not been implemented")
    }    
}
class MyViewController : UIViewController, UIWebViewDelegate {
    var buttonView = ButtonView()
    @IBOutlet weak var webView: UIWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        self.loadWebView() //This just loads a url to the web view...
        webView.layer.zPosition = 1
        buttonView = ButtonView(frame: CGRectMake(0, 0, 100, 100))
        buttonView.layer.zPosition = 100
        buttonView.button.addTarget(self, action: "buttonEvent:", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(buttonView)
    }
    func buttonEvent(sender: AnyObject!){
        println("Tap detected!")
    }
}

这个按钮显示在网页视图的顶部,但是我不能点击它

虽然如果我隐藏网页视图,我可以点击按钮没有任何问题

这是一个zPosition问题吗?还是别的什么?

只要替换:

self.view.addSubview(buttonView)

:

webView.addSubview(buttonView)

也就是将包含按钮的视图添加到web视图中

最新更新