0

UILongPressGestureRecognizerがピンをドロップするように作成しましたが、アニメーション化する必要があります。そこで、press:メソッドでanimatesDropプロパティを設定しようとすると、エラーは発生しませんが、機能しません。プロパティを間違った場所に設定したのか、それとも何なのかわかりません。

これがコードです。

-(void)viewDidLoad
{
    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self
                                                                                       action:@selector(press:)];
longPress.minimumPressDuration = 0.5f; //user needs to press for 2 seconds
[longPress setDelegate:self];
[worldView addGestureRecognizer:longPress];
[worldView setShowsUserLocation:YES];

}

-(void)press:(UILongPressGestureRecognizer *)recognizer
{
    CGPoint touchPoint = [recognizer locationInView:worldView];
    CLLocationCoordinate2D touchMapCoordinate = [worldView convertPoint:touchPoint toCoordinateFromView:worldView];

if (UIGestureRecognizerStateBegan == recognizer.state) {
    BNRMapPoint *mp = [[BNRMapPoint alloc]initWithCoordinate:touchMapCoordinate
                                                       title:@"Some Title"];
    [worldView addAnnotation:mp];
    [mp setAnimatesDrop:YES];
}

}

どんな助けでもいただければ幸いです。

4

1 に答える 1

2

setAnimatesDrop:MKPinAnnotationView のメソッドですが、プロトコルをBNRMapPoint実装するアノテーション クラスのようです。MKAnnotation

MKPinAnnotationView のプロパティを にmapView:viewForAnnotation:設定できる、注釈の MKPinAnnotationView を返すメソッドを提供する必要があります。animatesDropYES

Apple のサンプル コードMapCalloutsを参照できます。

于 2012-09-14T01:50:56.230 に答える