【问题标题】:Overlay an UIButton over an UIWebView in Swift在 Swift 中将 UIButton 覆盖在 UIWebView 上
【发布时间】:2015-07-29 18:08:54
【问题描述】:

所以我有一个加载 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!")
    }
}

所以这会按预期在 web 视图顶部显示按钮,但我无法点击它。

虽然如果我隐藏网页视图,我可以毫无问题地点击按钮

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

【问题讨论】:

    标签: ios swift uiwebview uibutton


    【解决方案1】:

    只要你替换它就可以工作:

    self.view.addSubview(buttonView)
    

    与:

    webView.addSubview(buttonView)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2015-08-31
      • 1970-01-01
      相关资源
      最近更新 更多