gpt4 book ai didi

swift - 使用detailCalloutAccessoryView作为第三个注释属性

转载 作者:行者123 更新时间:2023-11-30 10:02:24 24 4
gpt4 key购买 nike

我是 Swift 和 Stackoverflow 的新手,我想知道是否有一种方法可以将数据从我的 plist 导入到DetailCalloutAccesoryView,就像我在 map 注释中导入“标题”和“副标题”一样标注?这样,我就可以避免制作自己的自定义 map 注释,而是使用 MapKit 的内置功能。<​​/p>

我将我的变量称为标题和副标题,如下所示:

var myData: NSArray?
if let path = NSBundle.mainBundle().pathForResource("myData", ofType: "plist") {
myData = NSArray(contentsOfFile: path)
}
if let items = myData {
for item in items {
let lat = item.valueForKey("Latitude") as! Double
let long = item.valueForKey("Longitude") as! Double
let myAnnotation = Mydata(value1: "Value1", value2: "Value2", value3: "Value3", latitude: lat, longitude: long)
// Define "Value1 to be shown as title in Callout
myAnnotation = item.valueForKey("Value1") as? String
// Define "Value2 to be shown as subtitle in Callout
myAnnotation.subtitle = item.valueForKey("Value2") as? String
annotations.append(myAnnotation)
}
}
return annotations
}

到目前为止,我只是使用以下代码在所有注释中显示相同的值,以代替副标题:

let detailAccessory = UILabel(frame: CGRectMake(0,0,50,30))
detailAccessory.text = "Value3" // Obviously, shows constant value for all annotations
detailAccessory.font = UIFont(name: "Verdana", size: 10)
pinView?.detailCalloutAccessoryView = detailAccessory

请不要让我的无知打扰你......

最佳答案

您需要实现 func mapView(mapView: MKMapView, viewForAnnotation 注释: MKAnnotation) -> MKAnnotationView?委托(delegate)方法。在那里您可以自定义detailCalloutAccessoryView。

详细说明参见https://developer.apple.com/videos/play/wwdc2015/206/

关于swift - 使用detailCalloutAccessoryView作为第三个注释属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37732313/

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