2012-03-02 35 views
3

我在xCode 4.2中有一個使用storyboard的項目。我正在使用mapkit框架。我試圖通過用戶使用segue選擇的註釋來定位彈出窗口。Postion在沒有segue錨的mapkit註釋上出現segue popover

這是我的。

if([view.annotation isKindOfClass:[ContentPoint class]]) { 
    NSLog(@"I see this in my log"); 

    [self performSegueWithIdentifier:@"ViewAudioSegue" sender:mapView.selectedAnnotations]; 
} 

這就要求正確SEGUE,但由於SEGUE具有的MapView的錨,在酥料餅在顯示地圖的鈕與選擇的註釋不旁邊。我嘗試了不同的發件人(視圖,地圖等),但我得到了相同的結果。有沒有辦法以編程方式設置錨點?這是我得到的無錨手動設置錯誤「*終止應用程序由於未捕獲的異常‘NSInternalInconsistencyException’,原因:‘UIStoryboardPopoverSegue必須從一個欄按鈕項或圖中呈現’」

回答

0

您也可以創建一個隱藏按鈕,將彈出窗口的細節錨定到該按鈕上,並在按鈕被選定時將其放置在註釋上。這是一個類似的解決方案,在一個單獨的問題中使用tableview,我回答了https://stackoverflow.com/a/14514837/1712892。主要區別在於您必須計算屏幕上註釋的位置並將anchorButton移到那裏,然後在執行segue時將自定義註釋作爲發件人傳遞。我實際上是在同一個項目中這樣做的。如果我有時間,我會在今晚晚些時候用例子來編輯它。