在Swift中的UIWebView上覆盖UIButton [英] Overlay an UIButton over an UIWebView in Swift

查看:247
本文介绍了在Swift中的UIWebView上覆盖UIButton的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我有一个加载UIWebView的视图,我希望覆盖用户可以点击进入另一个视图的UIButton。

So I have a view that loads a UIWebView and I want to overlay UIButton the user can tap on to go to another view.

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

I managed to place the button over the web view but I can't seem to be able to tap on it.

这是我的代码:

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

因此,这会按预期显示网页视图顶部的按钮,但我无法点击它。

So this displays the button on top of the web view as expected but I can't tap on it.

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

Although if I hide the web view I can tap on the button without any problems

这是一个zPosition问题吗?或其他什么?

Is this a zPosition problem? or something else?

推荐答案

只要您更换它就可以正常工作:

It could work as it is as long as you replace:

self.view.addSubview(buttonView)

使用:

webView.addSubview(buttonView)

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

So basically add the view containing the button to the web view instead

这篇关于在Swift中的UIWebView上覆盖UIButton的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆