2013-08-25 111 views
0

我想要做的任务是,用户按下“共享”按钮,为mapview设置区域,截取mapview的截图,然后在Facebook上发布。adjustRegion动画完成后执行方法

理论上它工作正常,除了有时设备在setRegion完成加载之前截取了屏幕截图。

我试图用

[self performSelector:@selector(shareMap) withObject:nil afterDelay:2.0]; 

然而,这会不会是特别慢设备的最佳解决方案。 有没有可以执行此操作的解决方案?我看到了here的解决方案,但我不明白它是如何工作的。 (它会在我的情况下工作吗?)

谢谢。

+0

我认为你正在寻找这样的:https://developer.apple.com/library/ios/documentation/MapKit /Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html#//apple_ref/occ/intfm/MKMapViewDelegate/mapViewDidFinishLoadingMap: – Dave

+0

(这应该是直接链接到mapViewDidFinishLoadingMap) – Dave

+0

它不起作用,因为我并不总是分享我的地图每次我加载完成加载我的马页。 – hook38

回答

1

也许您在寻找regionDidChangeAnimated委托方法。

内的.h:

bool bSharedAlready; 

里面的.m:

- (void)mapView: regionDidChangeAnimated: 
{ 
    if (bSharedAlready) 
     return; 

    //Code to share on FB 
    bSharedAlready = YES; 
} 
+0

每次更改该区域时都会调用该方法。但我不会不想在用户更改区域时调用“在Facebook上分享”方法。我怎样才能做到这一点? – hook38

+0

首次在regionDidChangeAnimated中设置类级别的布尔变量var。每次在FB上分享时请检查它。 –