我有一個通用應用程序,在這裏我共享一個iPad和iPhone故事板的相同控制器。 我已經把一個UILongPressGestureRecognizer上一個UITableView,即當按下iPhone蜂窩它調用執行賽格瑞一個動作:prepareForSegue不會在執行完畢後調用:withIdentifier:帶有彈出式樣
-(IBAction)showDetail:(id)sender {
UILongPressGestureRecognizer *gesture = (UILongPressGestureRecognizer*)sender;
if (gesture.state == UIGestureRecognizerStateBegan) {
CGPoint p = [gesture locationInView:self.theTableView];
NSIndexPath *indexPath = [self.theTableView indexPathForRowAtPoint:p];
if (indexPath != nil) {
[self performSegueWithIdentifier:SEGUE_DETAIL sender:indexPath];
}
}
}
的SEGUE是作爲一個「推」進行的詳細視圖。你應該注意的第一件事是發件人是一個NSIndexPath,是我發現傳遞選定單元格的唯一方法。也許有更好的解決方案。 一切工作正常,從某種意義上說,執行segue,並且在prepareForSegue也被調用之前。
然而,它發生在iPad上,我已經改變了塞格標識符Popover。 現在事情正在發揮作用,segue被執行,但prepareForSegue沒有被調用,因此目標視圖控制器沒有按照它應該設置。
我在做什麼錯?
我遇到同樣的問題。 viewdidload被調用,但不執行segue – 1dayitwillmake 2012-01-16 02:21:59