作为按钮的地图上的Swift注释

时间:2015-11-14 14:52:18

标签: ios swift dictionary annotations

我尝试给我的注释3个按钮(2个已经完成),按钮1和按钮2上的图像工作,现在我想要执行一个segue一旦点击按钮3就在那里吗?

enter image description here

要创建此注释,我的代码看起来像

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"也是一个动作?

1 个答案:

答案 0 :(得分:0)

我认为最好给你的image一个包含按钮的子视图。

如果您可以使用左右标注配件以及wrapper.js属性,那么您可以,但如果您需要更多,就像您的情况一样,最好将所有内容嵌入到您的视图中设计而不是依赖于预先配置的UI元素,这些元素很可能是针对不同的东西。

事实上,你的截图看起来有点蹩脚,尽管它有三色的光彩,因为草率的对齐和间距,这是一个自定义视图的例子。