我尝试给我的注释3个按钮(2个已经完成),按钮1和按钮2上的图像工作,现在我想要执行一个segue一旦点击按钮3就在那里吗?
要创建此注释,我的代码看起来像
if (annotation is CustomPointAnnotation2){
let reuseId = "ParseAnno"
var anView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId)
if anView == nil {
anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
anView!.canShowCallout = true
}
else {
anView!.annotation = annotation
}
let buttonSignIcon1 = UIButton()
buttonSignIcon1.frame.size.width = 50
buttonSignIcon1.frame.size.height = 52
buttonSignIcon1.backgroundColor = UIColor(red: 0, green: 0.373, blue: 0.694, alpha: 1.0)
buttonSignIcon1.setImage(UIImage(named: "annotationButtonLeft"), forState: .Normal)
anView!.leftCalloutAccessoryView = buttonSignIcon1
let buttonSignIcon = UIButton()
buttonSignIcon.frame.size.width = 50
buttonSignIcon.frame.size.height = 52
buttonSignIcon.backgroundColor = UIColor(red: 1, green: 0, blue: 0, alpha: 1.0)
buttonSignIcon.setImage(UIImage(named: "annotationButtonRight"), forState: .Normal)
anView!.rightCalloutAccessoryView = buttonSignIcon
let x = annotation as! CustomPointAnnotation2
anView!.image = UIImage(named:x.imageName)
return (anView)
到"运行一个功能"点击我使用
func mapView(mapView: MKMapView!, annotationView: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
if control == annotationView.leftCalloutAccessoryView {
print(annotationView.annotation?.title)
print(annotationView.annotation?.coordinate)
self.Destination_fromAnnotation = (annotationView.annotation?.coordinate)!
self.getDirections()
}
.
.
.
有没有办法给按钮" 3"也是一个动作?
答案 0 :(得分:0)
我认为最好给你的image
一个包含按钮的子视图。
如果您可以使用左右标注配件以及wrapper.js
属性,那么您可以,但如果您需要更多,就像您的情况一样,最好将所有内容嵌入到您的视图中设计而不是依赖于预先配置的UI元素,这些元素很可能是针对不同的东西。
事实上,你的截图看起来有点蹩脚,尽管它有三色的光彩,因为草率的对齐和间距,这是一个自定义视图的例子。