我已經成功實現了搜索功能。我希望能夠搜索我的列表,選擇列表中的一個項目,然後返回到主表格視圖,而項目仍然選擇。我該怎麼做呢?Swift:選擇搜索結果後返回tableview
這是沒有任何選擇或字符鍵入到搜索欄的tableview。項目沒有詳細視圖。項目確實具有可以檢索的更多信息,例如,網址。稍後當用戶按下左上方的「郵件」按鈕時,必須檢索此數據。
這是帶搜索結果的列表。該單元格的灰色突出顯示該單元格已被選中。現在如何返回到主桌面視圖,同時保持選擇?我只看到右上角的取消按鈕,搜索欄頂部中間的交叉按鈕以及鍵盤右下角的「搜索」按鈕。在存儲選擇時,沒有將您帶回主表格視圖。
根據建議的答案,我能夠存儲行的索引路徑,使用下面的功能:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let rowToSelect = indexPath
println(rowToSelect)
selectedCellTitle = selectedCell?.textLabel?.text ?? ""
println("The stored cell is called \(selectedCellTitle)")
}
不過,我還沒有成功地在主要的tableview重新選擇行。我的代碼如下。它看起來像常量「rowToSelect」不會轉移到另一個函數(請參閱最後一行代碼之前的那個)。我該如何解決?
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
if tableView == self.searchDisplayController!.searchResultsTableView {
cell.textLabel?.text = filteredPublications[indexPath.row].valueForKey("fullTitle") as? String
cell.detailTextLabel?.text = filteredPublications[indexPath.row].valueForKey("journal") as? String
} else {
cell.textLabel?.text = publications[indexPath.row].valueForKey("fullTitle") as? String
cell.detailTextLabel?.text = publications[indexPath.row].valueForKey("journal") as? String
self.tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: .Top)
}
return cell
}
視圖控制器標籤添加到您的時候您放入視圖中,選擇單元格時存儲標籤,循環瀏覽表格視圖的子視圖,如果標籤是存儲的標籤,則選擇正確的單元格 – milo526 2015-04-01 13:46:24
在此方法中,用戶使用哪個按鈕從搜索結果列表到fu我會列出嗎? – 2015-04-01 21:36:05
我編輯了我的反應,我希望這能爲你澄清一些問題 – milo526 2015-04-02 13:42:17