gpt4 book ai didi

ios - UITableViewCell 中的 UIButton 标题在重用时发生变化

转载 作者:行者123 更新时间:2023-12-01 16:23:14 24 4
gpt4 key购买 nike

我有一个表格 View ,其中包含由电话联系人和 Facebook friend 组成的数据。如果用户是联系人,则单元格的按钮标题应为“邀请”,如果用户是 Facebook 好友,则应为“添加”。

但是,每个按钮上的标题都是错误的,并且在滚动时会交换。

这是我的模型:

struct MyContact {
var name: String
var phone: String
var photoUrl: String
var isFBUser: Bool
}

模型数组
var myContacts = [MyContact]()

cellForRowAt
func tableView(_ tableView: UITableView, cellForRowAt indexpath: Indexpath)  -> UITableviewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ContactCell

let contact = myContacts[indexPath.row]

if contact.isFBUser == true {
cell.button.setTitle("Add", for: .normal)
} else {
cell.button.setTitle("Invite", for: .normal)
}

cell.contact = contact
cell.configureCell()
}

ContactCell.swift
func configureCell() {
if contact.isFBUser == true {
button.setTitle("Add", for: .normal)
} else {
button.setTitle("Invite", for: .normal)
}
}

我什至尝试在 prepareForReuse 上将按钮标题设置为 nil
override func prepareForReuse() {
super.prepareForReuse

button.setTitle(nil, for: .normal)
}

最佳答案

单元格对象被重用,因此您需要在将它们出列时继续设置它们的联系属性(或将其传递给 configureCell() )

关于ios - UITableViewCell 中的 UIButton 标题在重用时发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48062629/

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