sách gpt4 ăn đã đi

ios - 在 Swift 3.0 和 Xcode 8 迁移后未调用 UITableViewDelegate 方法

In lại 作者:搜寻专家 更新时间:2023-10-31 21:56:39 24 4
mua khóa gpt4 giày nike

将我的代码库从 Swift 2.2 迁移到 Swift 3.0 后,我注意到我的 UITableView 页脚没有显示。事实证明,我的 UITableViewDelegate 方法都没有被调用(例如:func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?)。

有趣的是,正在调用 UITableViewDataSource 方法并且正在填充。我已将父 View Controller 设置为表的 đại biểudataSource

为了说明问题,我创建了一个 sample Swift 3.0 project量身定制以尽可能匹配我现有的代码库。也许 Swift 3/Xcode 8 中发生了一些我不知道的变化,或者我可能遗漏了一些非常明显的东西。感谢您的帮助!

câu trả lời hay nhất

在我检查了你的示例项目之后:

你没有做错任何事,但是引用 viewForFooterInSection,它不会被调用直到你实现 heightForFooterInSection phương pháp:

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 50 // for example
}

类似案例:

没有实现 heightForHeaderInSection ==> 即使实现了,也没有调用 viewForHeaderInSection

返回 numberOfRowsInSection 为零 ==> 不调用 cellForRowAt,即使它已实现。

附加说明:您不必在 viewDidLoad 中添加 tableView.dataSource = selftableView.delegate = self (),它们已经在界面Builder中设置好了。

关于ios - 在 Swift 3.0 和 Xcode 8 迁移后未调用 UITableViewDelegate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40069943/

24 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress