基本上我正在尝试制作一个习惯跟踪器应用程序。我仍在试图弄清楚如何在最后一次单击时保存单元格。我正在使用 RealmSwift
这是我想实现的功能
func setupDateAndTIme(btnCheckMark: UIButton) {
let elapsedTime = NSDate().timeIntervalSince(habit.updatedAt as Date)
let duration = Int(elapsedTime)
let waitingTime = 45
//change waiting time to 43200 for actual app but test w 60 smtn
if duration < waitingTime && habit.checked == true {
btnCheckMark.setBackgroundImage(UIImage(named: "checkedOff"), for: UIControl.State.normal)
btnCheckMark.isEnabled = false
} else {
btnCheckMark.setBackgroundImage(UIImage(named: "emptyCheckbox"), for: UIControl.State.normal)
btnCheckMark.isEnabled = true
}
}
当我以编程方式制作这个应用程序时,这是表格 View 功能
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CheckListIdentifier") as! CheckMarkCell
cell.btnCheckMark.addTarget(self, action: #selector(checkMarkButtonClicked(sender:)), for: .touchUpInside)
cell.textLabel!.text = "\(myArray[indexPath.row])"
return cell
}
@objc func checkMarkButtonClicked ( sender: UIButton) {
print("button presed")
if sender.isSelected {
//uncheck the butoon
sender.isSelected = false
} else {
// checkmark it
sender.isSelected = true
}
}
这是单元格的代码
class CheckMarkCell: UITableViewCell {
let habit = Habit()
@IBOutlet weak var lblTitle: UILabel!
@IBOutlet weak var btnCheckMark: UIButton!
}
有人能告诉我如何实现这个功能吗?谢谢你!
最佳答案
var selectedIndexes = [Int]()
其中 index 是带有按钮 @objc func checkMarkButtonClicked
必须是单元格的一部分。逻辑:
user --tap--> cell --call_vc.updateButtonState()--> vc [saves flag] --tableView_reloadCell-->
关于ios - 上次单击时如何使按钮 UIButton 保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59918386/