5
我必须在这里做错事。 我有一个UITableView,并实现了一个UISearchController。 我有一个原型单元格链接到详细信息屏幕,并在prepareForSegue方法中传递选定的值。使用UISearchController的segue的不同行为
对于普通视图控制器,所有工作正常,选中一行并按下详细信息屏幕(即从右侧滑入)。
然而,当有一个主动搜索,使用UISearchController,细节画面模态呈现(即从屏幕底部向上滑动)未经UINavigationBar的(所以没有可能性去“背”)
我不使用didSelectRowAtIndexPath方法,因为我用故事板推详情屏幕
为什么不同的呈现动画时“prepareForSegue”相同的代码被正确调用在每种情况下:
// MARK: - Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier! == "PresentContactDetail") {
// pass person details from selected row
if let selectedRow = self.tableView.indexPathForSelectedRow()?.row {
let selectedPerson = self.visibleResults[selectedRow]
(segue.destinationViewController as ContactDetail).personRecord = selectedPerson
}
}
}
任何建议感激地收到。