gpt4 book ai didi

ios - marker.iconView?.addSubview(UIButton) 无法使用 Gmaps 点击

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:47 25 4
gpt4 key购买 nike

嗨,我创建了我的自定义 marker.iconview

marker.iconView = CustomMarkerView(frame: CGRect(x: 0, y: 0, width: 301, height: 36))

这是我的自定义标记 View

import UIKit

class CustomMarkerView: UIView {

var logo = UIImage()
var adress = UILabel()
var price = UILabel()
var icon_like = UIImage(named: "icon_like")
var icon_direction = UIImage(named: "icon_direction")

override init(frame: CGRect) {
super.init(frame: frame)
self.addCustomView()
}

init(frame: CGRect, adress: String, price: String, logo: String) {
super.init(frame: frame)
self.adress.text = adress
self.price.text = price
self.logo = UIImage(named: logo)!
self.addCustomView()
}

required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

func addCustomView() {
let layerBG = CALayer()
layerBG.frame.size.width = 201
layerBG.frame.size.height = 36
layerBG.backgroundColor = UIColor(patternImage: UIImage(named: "bgMarkerView")!).cgColor
layerBG.position = CGPoint(x: 201, y: 18)
self.layer.addSublayer(layerBG)
}

然后我在我的 View Controller 中的这个 View 中添加更多自定义元素

func addInternalElements(adress: String, price: String, logo: String) {
let logoView = UIView()

let logoImg = UIImage(named: logo)
let logoImage = UIImageView(image: logoImg)
logoView.addSubview(logoImage)
setMarkerLogoConstraint(logoView: logoView, logoImage: logoImage)

let adressLabel = UILabel()
adressLabel.font = UIFont(name: "helveticaneuecyr-roman", size: 9)!
adressLabel.textColor = UIColor.white
adressLabel.numberOfLines = 2
adressLabel.text = adress

let priceLabel = UILabel()
priceLabel.font = UIFont(name: "helveticaneuecyr-roman", size: 11.2)!
priceLabel.textColor = UIColor.white
priceLabel.numberOfLines = 2
priceLabel.text = price

let icon_like = UIImage(named: "icon_like")
let likeBtn = UIButton()
likeBtn.setImage(icon_like, for: .normal)
likeBtn.setImage(icon_like, for: .selected)
likeBtn.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
likeBtn.tag = 5
likeBtn.isMultipleTouchEnabled = true

self.topBarView.addSubview(btnProfileTopBar)
setProfileIconConstraints()

self.marker.iconView?.addSubview(logoView)
self.marker.iconView?.addSubview(adressLabel)
self.marker.iconView?.addSubview(priceLabel)
self.marker.iconView?.addSubview(likeBtn)
self.marker.iconView?.isMultipleTouchEnabled = true

setLogoViewMarkerConstraints(logoView: logoView)
setAdressMarkerConstraints(label: adressLabel, logoView: logoView)
setPriceMarkerConstraints(label: priceLabel, logoView: logoView)
setLikeBtnMarkerConstraints(btn: likeBtn)
}

一切看起来都不错,但 uibutton 不可点击(likeBtn.addTarget 不起作用),如果我实现此方法

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {

return false
}

我不明白我怎么理解我点击了正确的按钮(会有更多的按钮)

最佳答案

我已经解决了这个问题,在 infoWindow 中创建了自定义图标 View

关于ios - marker.iconView?.addSubview(UIButton) 无法使用 Gmaps 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com