Ios 设置动画时无法点击注释
我有我的自定义注释。我不时为其设置动画:Ios 设置动画时无法点击注释,ios,objective-c,swift,mapkit,Ios,Objective C,Swift,Mapkit,我有我的自定义注释。我不时为其设置动画: UIView.animateWithDuration(duration, delay: 0, options: .CurveLinear, animations: { customAnnotation.coordinate = newCoordinate 当这种情况发生时,我不能点击它来调用mapView:didSelectAnnotationView 我甚至添加了UIButton作为子视图: let
UIView.animateWithDuration(duration, delay: 0, options: .CurveLinear, animations: {
customAnnotation.coordinate = newCoordinate
当这种情况发生时,我不能点击它来调用mapView:didSelectAnnotationView
我甚至添加了UIButton作为子视图:
let button = UIButton(frame: CGRect(x: 7.25, y: 17, width: 37, height: 15))
let text = customAnnotation.displayedName
button.setTitle(text, forState: .Normal)
button.backgroundColor = UIColor.blackColor()
button.setTitleColor(UIColor.greenColor(), forState: .Normal)
button.addTarget(self, action: "buttonTapped:", forControlEvents: .TouchUpInside)
customAnnotationView?.addSubview(button)
在mapView中:viewForAnnotation,但它也不起作用。
有什么想法吗?下面的用法可能适合您
View.animateWithDuration(duration, delay: 0, options: .CurveLinear | .AllowUserInteraction , animations: {
customAnnotation.coordinate = newCoordinate
})
在
options
中可以传递到的另一个uiviewmanimationoptions
参数是.AllowUserInteraction
public static var AllowUserInteraction: UIViewAnimationOptions { get } // turn on user interaction while animating
要将多个参数传递给选项
,可以在数组中传递它们,如下所示:
UIView.animateWithDuration(duration, delay: 0, options: [.CurveLinear, .AllowUserInteraction], animations: {
customAnnotation.coordinate = newCoordinate
希望这对你有帮助