0

私の新しいiOSアプリのさまざまな場所でMKMapView、スクロールとユーザーの操作が無効になっている小さな画面が表示されます。各マップには、常に 1 つのカスタム アノテーションがあります。

スクリーンショットに示すように、すべてがうまく見えます。ただし、私が満足していない小さな動作があります。を含むビューまたはセルMKMapViewが読み込まれると、マップはすぐに表示されますが、注釈が追加されるまで少し時間がかかります。これは、アノテーションの仕組み ( など) によるものだと思いますUITableView

私のマップには常に単一の注釈が含まれているため、マップが実際に画面に表示される前に、マップに事前に読み込まれるようにする方法はありますか? MKMapViewスクロール中にリロードされるテーブルビューセルに含まれている間、本当に面倒な小さな遅延は望ましくありません。他のアイデアは大歓迎です。

ありがとう

iphoneのスクリーンショット

4

3 に答える 3

0

私はそれをテストする方法を持っていませんが、セットはどうですか:

myPinView.animatesDrop = NO;

デフォルトではYES値に設定されているため、viewForAnnotationデリゲートで。

于 2012-11-01T08:50:58.073 に答える
0

コードで正確に何をしたかはわかりませんが、おそらく役に立ちます。

- (MKAnnotationView *)mapView:(MKMapView *)mv viewForAnnotation:(id <MKAnnotation>)annotation
{
 MKPinAnnotationView* pv = (MKPinAnnotationView*)[mv dequeueReusableAnnotationViewWithIdentifier:reuse];
    if ( pv == nil )
    {
        pv = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuse] autorelease];   
        [pv setAnimatesDrop:YES]; // replace this line with the following line
        [pv setAnimatesDrop:NO];
    }

    [pv setAnnotation:annotation];

    return pv;
}
于 2012-11-01T08:56:06.013 に答える
0

初期化中に MapView を非表示に設定しないと、注釈が追加された後にこのメソッドがトリガーされます。

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    // reveal map
    mapView.hidden = NO;

    // -----------------------------------------------------------------
    // ALTERNATIVE WAY TO SHOW MAP VIEW WITH SMOOTH FADE IN
    //
    // if you want you can even animate the fading in of the 
    // note: this means you need to remove the above line
    // and you also need to set mapView.alpha = 0 during initialsation
    // instead of using mapView.hidden = YES
    // -----------------------------------------------------------------
    [UIView animateWithDuration:0.5 animation:^{ 
        mapView.alpha = 1;
    }];
}

(参照: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html#//apple_ref/occ/intfm/MKMapViewDelegate/mapView:didAddAnnotationViews :)

于 2012-11-01T13:31:48.243 に答える