我一定在这里做错了什么。我有一个 UITableView,并实现了一个 UISearchController。我有一个链接到详细信息屏幕的原型单元格,并在 prepareForSegue 方法中传递选定的值。
对于普通视图控制器,一切正常,选择一行并按下详细信息屏幕(即从右侧滑入)。
但是,当使用 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
}
}
}
任何建议都非常感激。