PeekとPopがUISearchController
で動作しています。ただし、PeekとPopは、updateSearchResults
を使用してテーブルの検索を開始すると機能しなくなります。UITableViewセルでPeekとPopがUISearchControllerで失敗する
私は、一例として覗くとポップをサポートするために、AppleのTable Search with UISearchController demoを拡張しました:
問題は、私は、テーブルの検索を開始するとき、覗くとポップはもう動作しませんです。それはちょうどハイライトにそれを選択:
を私が行った更新がMainTableViewController
にした、次のとおりです。
class MainTableViewController: BaseTableViewController, UISearchBarDelegate, UISearchControllerDelegate, UISearchResultsUpdating {
override func viewDidLoad() {
super.viewDidLoad()
...
if traitCollection.forceTouchCapability == .available {
registerForPreviewing(with: self, sourceView: tableView)
}
}
}
extension MainTableViewController: UIViewControllerPreviewingDelegate {
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
guard let indexPath = tableView?.indexPathForRow(at: location),
let cell = tableView?.cellForRow(at: indexPath),
let controller = storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as? DetailViewController
else { return nil }
previewingContext.sourceRect = cell.frame
controller.product = products[0]
return controller
}
func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) {
guard let controller = viewControllerToCommit as? DetailViewController else { return }
controller.product = products[0]
show(controller, sender: self)
}
}
は(でもキーボードすることができる)のぞくとポップに干渉検索コンテキスト・コントローラですか?テーブルが最初はすべてのデータであっても、それを動作させることはできますが、一度検索を開始してもそれはできません。私はあなたがそれを実行し、問題を見たい場合はworking sample hereを添付しました。
問題点は何ですか? –
質問をスクリーンショットで更新しました。詳細:thx :) – TruMan1
これは、ピークとポップをブロックしているキーボードではないことを確認できます。私はそれを却下し、問題は残っています。 – TruMan1