2011-02-01 31 views
1

我正在研究iPad應用程序,並且在其上面有一個全屏幕MKMapView和一個透明的UIScrollView(大約1/5的屏幕)。在水平滾動UIScrollView時,我將註釋(地圖引腳)添加到地圖中,但是我注意到,直到釋放/停止拖動UIScrollView時,引腳纔會真正地放到地圖上。MKMapView在地圖上拖動UIScrollView時的addAnnotation延遲

我也證實,時間是按照預期在下面添加NSLog。當我滾動時,控制檯顯示「添加引腳」消息,但在停止拖動之前不會添加引腳。

if(![myMap.annotations containsObject:item]) { 
    [myMap addAnnotation:item]; 
    NSLog(@"Adding pin."); // Gets called when I would expect, but no pin drops 
} 

我敢肯定的是,地圖是做與觸摸的東西,但我不知道如何告訴地圖忽略的UIScrollView的觸摸它上面......或者相反,說的UIScrollView不要將觸摸傳遞給下面的地圖。

任何幫助將被apprciated。

回答

0

我不知道如何告訴地圖忽略在它上面的UIScrollView中的接觸...或者相反,告訴UIScrollView不要將接觸傳遞到下面的地圖。

您是否嘗試過UIViews上的三個觸摸相關屬性?如果將UIScrollView的.exclusiveTouch屬性設置爲YES,它將阻止將觸摸事件傳遞到該窗口中的任何其他視圖。

或者你可以修改mapview的.userInteractionEnabled屬性爲NO。無論哪種方式,您都會阻止將滾動視圖中的觸摸事件傳遞到地圖視圖。

如果這兩個屬性不起作用,那麼你的問題可能與滾動視圖內的觸摸無關。