2013-08-25 189 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上分享時請檢查它。 –