我在UITableViewCell中创建一个表单,这个表单在原型单元格中有标签和文本字段。在这里查看其图像 TableView Story board Image。 我使用标识符动态创建表单,我的代码是
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("protocell", forIndexPath: indexPath) as! UITableViewCell
var lable = cell.viewWithTag(1) as! UILabel
lable.text = details[indexPath.row]
lable.textColor = UIColor.brownColor().colorWithAlphaComponent(0.7)
var textfield = cell.viewWithTag(2) as! UITextField
textfield.placeholder = "Enter \(details[indexPath.row])"
self.arrayTextField.append(textfield)
if details[indexPath.row] == "Name" {
textfield.placeholder = "Enter First \(details[indexPath.row]) Middle \(details[indexPath.row]) Last \(details[indexPath.row]) "
}
textfield.backgroundColor = UIColor.redColor().colorWithAlphaComponent(0.2)
return cell
}
现在问题是我有18个字段,当我在字段中输入值并滚动视图以填充其余字段时,字段中的值更改会发生变化。 请帮忙。
答案 0 :(得分:2)
创建UITableViewCell
子类并覆盖prepeareForReuse
函数 - 将单元格设置为默认模式。
夫特:
override func prepareForReuse() {
super.prepareForReuse()
//set cell to initial state here, reset or set values, etc.
}
根据您的评论 - 如何继承UITableViewCell
:
import UIKit
class MyCustomCell: UITableViewCell {
// things that you can do here:
// initialise your properties here. (label, textfield. etc)
// layout subviews.
// override superclass APIs.
}
答案 1 :(得分:0)
updateWithDetails(details)
,以便代码封装良好