我正在使用swift 2做一个iOS项目,我有一个带有自定义单元格的UITableView。我有一个带有UITextView和简单标签的单元格,修改后我不想获得此UITextView的值,但它与UITextFields不同,我不能在edit begin方法上使用。我怎样才能做到这一点 ?
这是定义我的自定义单元格的代码:
let cell = tableView.dequeueReusableCellWithIdentifier(CurrentFormTableView.CellIdentifiers.ParagraphCell, forIndexPath: indexPath) as! ParagraphCell
cell.display(block)
cell.selectionStyle = UITableViewCellSelectionStyle.None
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 160.0
return cell
这是我的ParagraphCell.swift
import UIKit
protocol ParagraphCell {
func update ParagraphCell(cell: ParagraphCell, rep: String)
}
class ParagraphCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var answerField: UITextView!
var delegate: ParagraphCell Delegate?
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
let borderColor : UIColor = UIColor(red: 0.85, green: 0.85, blue: 0.85, alpha: 1.0)
answerField.layer.borderWidth = 0.5
answerField.layer.borderColor = borderColor.CGColor
answerField.layer.cornerRadius = 5.0
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func display(block: Block){
titleLabel.text = block.title
answerField.text = ""
}
//THIS METHOD IS NEVER CALLED...
func textViewDidChange(textView: UITextView) { //Handle the text changes here
print(textView.text); //the textView parameter is the textView where text was changed
delegate?.update ParagraphCell(self, rep: textView.text)
}
}
您需要添加answerField.delegate = self
awakeFromNib来接收委托回调。
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
let borderColor : UIColor = UIColor(red: 0.85, green: 0.85, blue: 0.85, alpha: 1.0)
answerField.layer.borderWidth = 0.5
answerField.layer.borderColor = borderColor.CGColor
answerField.layer.cornerRadius = 5.0
answerField.delegate = self // create delegate reference
}
您还需要添加UITextViewDelegate
到类协议声明中:
class ParagraphCell: UITableViewCell, UITextViewDelegate { }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句