比较来自世界各地的卖家的域名和 IT 服务价格

动画 MapKit 更改注释的坐标 Swift?

使用 MapKit 在 iOS 8 在 Swift 如何使可以进行动画改变自定义注释卡的位置? 我说:


UIView.animateWithDuration/0.25/ {
var loc = ann.coordinate
loc.latitude = loc.latitude + 0.0005
loc.longitude = loc.longitude + 0.001
ann.coordinate = loc
}


... 在哪里
ann

- 它是定制摘要, MyAnnotation. 注释在新的坐标位置中跳跃,而不是动画。

讨厌动画的工作正常

如果我写的话 MyAnnotation 在 Objective-C

. 但如果我在写它 Swift, 我将不再得到动画!

简单地 FYI, 这是我的 Swift 代码 MyAnnotation:


class MyAnnotation : NSObject, MKAnnotation {
var coordinate : CLLocationCoordinate2D
var title: String!
var subtitle: String!

init/location coord:CLLocationCoordinate2D/ {
self.coordinate = coord
super.init//
}
}
已邀请:

石油百科

赞同来自:

你几乎猜! 只需在实现中更改此字符串。 MyAnnotation:


var coordinate : CLLocationCoordinate2D


为此:


dynamic var coordinate : CLLocationCoordinate2D


这将解决它。

为什么这有关系? 因为注释动画依赖 KVO /监视关键词/. 在 Swift 如果它没有标记为“属性”属性不是键值
dynamic

. /又要多个技术,这反过来又是由于观察的事实 KVO 工作 swizzling 方法的实施 property setter - 运行时直接达到您的类并更改此属性的代码。 setter. 但是B. Swift 如果你显然没有标记房产,他就不能这样做
dynamic

./

要回复问题请先登录注册