代码之家  ›  专栏  ›  技术社区  ›  phoebus

谷歌地图iOS-自定义信息窗口按钮不工作

  •  1
  • phoebus  · 技术社区  · 6 年前

    我正在为我的标记创建一个自定义信息窗口,所有内容都正确显示,但是我的按钮目标没有执行。

    以下是我的自定义视图:

    import UIKit
    
    class CustomInfoWindow: UIView {
    
        let nibName = "CustomInfoWindow"
        @IBOutlet var contentView: UIView!
        @IBOutlet weak var lblTitle: UILabel!
        @IBOutlet weak var lblContent: UILabel!
        @IBOutlet weak var myBtn: UIButton!
    
    
        override init(frame: CGRect) {
            super.init(frame: frame)
            commonInit()
        }
    
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            commonInit()
        }
    
        private func commonInit() {
            Bundle.main.loadNibNamed(nibName, owner: self, options: nil)
            addSubview(contentView)
            contentView.frame = self.bounds
            contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
            contentView.layer.cornerRadius = 6
            myBtn.addTarget(self, action: #selector(self.onBtnPress), for: .touchUpInside)
    
        }
    
        @objc func onBtnPress() {
            print("Btn pressed")
        }
    }
    

    下面是我创建视图的方式:

    func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
            let view = CustomInfoWindow(frame: CGRect.init(x: 0, y: 0, width: 350, height: 300))
            // other setup stuff
            return view
        }
    

    有人知道我做错了什么吗?

    0 回复  |  直到 6 年前