gpt4 book ai didi

swift - 如何在 uicollectionviewcell 中保存文本字段值

转载 作者:搜寻专家 更新时间:2023-11-01 05:40:37 25 4
gpt4 key购买 nike

嗨,我在 uicollectionviewcell 中有文本字段

so what i need it example :

当我编辑第 5 行中的文本字段值并完成它并转到第 20 行中的文本字段以编辑值时,collectionview 已重新加载并忘记第 5 行中的值,

所以我需要一种方法来临时保存值,同时手动更改它

这是我的代码:

cell.foodNumber.tag = indexPath.row

if let foodcodes = self.menu![indexPath.row]["code"] as? NSString {

if contains(self.indexPathsForSelectedCells, indexPath) {
cell.currentSelectionState = true

cell.foodNumber.enabled = true
cell.foodNumber.text = "1"

println("foods:\(foodcodes) Count:\(cell.foodNumber.text)")
println(cell.foodNumber.tag)


} else {
cell.foodNumber.enabled = false
cell.foodNumber.text = nil
}

}

最佳答案

在您的 ViewController 中实现 UITextFieldDelegate 协议(protocol),特别是 textField:didEndEditing 方法。

将您的 indexPath.row 保存在 textField.tag 中,并将委托(delegate)设置为 Controller ,您可以在其中保存值。

这是一个非常简单的例子:

class MyViewController : UITableViewController {

var texts = [Int:String]()

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier( "Cell" ) as! UITableViewCell

cell.textField.delegate = self
cell.textField.tag = indexPath.row
// restore saved text, if any
if let previousText = texts[indexPath.row] {
cell.textField.text = previousText
}
else {
cell.textField.text = ""
}
// rest of cell initialization
return cell
}

}

extension MyViewController : UITextFieldDelegate {
func textFieldDidEndEditing(textField: UITextField) {
// save the text in the map using the stored row in the tag field
texts[textField.tag] = textField.text
}
}

关于swift - 如何在 uicollectionviewcell 中保存文本字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30980433/

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