gpt4 book ai didi

ios - 在 UITableView 中显示单元格的奇怪问题

转载 作者:行者123 更新时间:2023-11-30 12:05:23 25 4
gpt4 key购买 nike

我有 UITableView 的方法:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
override func numberOfSections(in tableView: UITableView) -> Int
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

所以,问题是 Xcode 首先运行

override func numberOfSections(in tableView: UITableView) -> Int

返回我1。后来它运行 override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int ,它也返回我 1。

但我不知道为什么在这两种方法之后它不运行 cellForRowAt 方法并且不在我的 UITableView 上显示任何行。

我不知道那里发生了什么以及为什么会发生这种情况。您遇到过这样的问题吗?可以帮我解决一下吗?

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let fetchedResultsController = self.fetchedResultsController, let fetchedObjects = fetchedResultsController.fetchedObjects {
if !searchController.isActive {
print("numberOfRowsInSection fetchedObjects.count - \(fetchedObjects.count)")
return fetchedObjects.count
} else {
if let results = filteredResult[searchController.searchBar.selectedScopeButtonIndex] {
print("numberOfRowsInSection results.count - \(results.count)")
return results.count
}
}
}
print("numberOfRowsInSection - 0")
return 0
}

override func numberOfSections(in tableView: UITableView) -> Int {
if let frc = fetchedResultsController, frc.fetchedObjects?.count != 0 {
print("numberOfSections - 1")
return 1
} else {
print("numberOfSections - 0")
return 0
}
}

最佳答案

可能发生的情况是您的单元格高度 0 。发生这种情况时,cellForRowAt根本不会被调用,即使其他方法返回非零 section/row计数。

我对发生这种情况的原因的猜测是,您可能正在为单元格使用自动布局,但您的约束不允许单元格计算出自己的高度。您可能在不知不觉中使用自动布局,因为在 iOS 11 上,它现在是默认设置。如果您使用 Storyboard,您可以在属性检查器上设置单元原型(prototype)的高度,而不是检查 automatic盒子。或者,您可以使用 tableView.rowHeight 在代码中设置它或通过实现func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat

关于ios - 在 UITableView 中显示单元格的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46734653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com