我有一個MKMapView添加到UIScrollView。我認爲預期的功能是平移地圖會導致地圖移動,但它的父級UIScrollView不會滾動。即如果您正在平移地圖,則滾動視圖將保持在當前位置。MKMapView平移導致父級UIScrollView滾動
這是我的代碼:
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.width, self.height)];
[scrollView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
[self.view addSubview:scrollView];
double mapHeight = 200;
if([AppDelegate isRunningOniPad])
mapHeight = 400;
map = [[MKMapView alloc] initWithFrame:CGRectMake(0, 200, self.width, mapHeight)];
[map setExclusiveTouch:NO];
[scrollView map];
我試圖獨佔觸摸設置爲YES和NO來,但它似乎沒有任何效果。
有沒有辦法讓行爲工作,以便平移地圖將停止移動UIScrollView?我試圖將地圖更改爲UIScrollView而不是MKMapView,但它具有相同的行爲 - 所以我懷疑這是MKMapView特定的。
感謝您的建議,我也創建了幾個演示項目,我看到了正確的行爲 - 就像您說的那樣。並用你在viewDidLoad中發佈的代碼替換爲一個空類。然而,在我的項目中仍然發生同樣的情況......但是同樣的類在其他項目中工作正常,所以我真的很困惑SED。 –
據我所見,它與視圖在標籤視圖控制器或導航控制器內部無關。它的行爲相同,如果它沒有這些添加。 –
項目中是否存在禁用用戶與MKMapView交互的任何地方?因爲這會阻止地圖視圖檢測到的觸摸&傳遞給滾動視圖。使用Tab/Navigation控制器不應該有所作爲,因爲scroll&map視圖是它們的子視圖。 – DaveSB