我在UISearchController
这样设置UITableViewController
。
self.resultSearchController = UISearchController(searchResultsController: nil)
self.resultSearchController.searchResultsUpdater = self
self.resultSearchController.delegate = self
self.resultSearchController.dimsBackgroundDuringPresentation = false
self.resultSearchController.searchBar.sizeToFit()
self.tableView.tableHeaderView = self.resultSearchController.searchBar
在我的willPresentSearchController
我计算细胞数量并将它们放入一个数组中,以使过滤后的细胞与原始细胞相等。
{
print("Will Present")
cells.removeAll()
print(numberOfSectionsInTableView(table))
// Iterate over all the rows of a section
for (var row = 0; row < tableView.numberOfRowsInSection(0); row++) {
if let cell:chatUebersichtCell = table.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: 0)) as? chatUebersichtCell{
cells.append(cell)
}
}
}
现在,对细胞进行计数,我能够得到一个等于我在TVC中可见细胞数量的数字,但不能更多(iPhone 5上有5个)。
任何想法,如何改变这个?
修改:
NumberOfSections = 1 NumberOfRows等于单元格数(在我的示例中为10) 在第5行之后,我再也无法投射到我的手机
了答案 0 :(得分:1)
您只获得5个单元格的原因是因为您使用相同的视图控制器来显示结果(搜索后表格视图会被更改)。为了实现您的目标,您可以执行以下两项操作之一:
OR
self.resultSearchController = UISearchController(searchResultsController: newTableViewController)