在Swift中通过UIWebView覆盖一个UIButton

所以我有一个视图,加载一个UIWebView,我想叠加UIButton用户可以点击去到另一个视图。

我设法把button放在网页视图上,但我似乎无法使用它。

这是我的代码:

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!") } } 

所以这个button显示在网页视图的顶部,但我不能点击它。

虽然如果我隐藏networking视图,我可以点击button没有任何问题

这是一个zPosition问题吗? 或者是其他东西?

只要您replace,它就可以工作:

 self.view.addSubview(buttonView) 

附:

 webView.addSubview(buttonView) 

所以基本上将包含该button的视图添加到Web视图中