我有一个带有图像和UITextView属性的自定义UITableViewCell.textview跨越到单元格的边缘.我的问题是点击textview没有在didSelectRowAtIndexPath中注册.
我怎样才能让它"点击"我的文本视图?
对于UITextView
设置textView.userInteractionEnabled = false
,如果有UITextField
,请设置textField.userInteractionEnabled = false
.
如果您希望在点击带有它的单元格后可以编辑textView或textField,请执行以下操作:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let cell = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell
// find first textField inside this cell and select it
for case let textField as UITextField in cell.subviews {
textField.userInteractionEnabled = true
textField.becomeFirstResponder()
return
}
// find first textView inside this cell and select it
for case let textView as UITextView in cell.subviews {
textView.userInteractionEnabled = true
textView.becomeFirstResponder()
return
}
}
Run Code Online (Sandbox Code Playgroud)
然后确保在完成编辑后禁用用户交互:
func textFieldDidEndEditing(textField: UITextField) {
textField.userInteractionEnabled = false
// rest of the function
}
func textViewDidEndEditing(textView: UITextView) {
textView.userInteractionEnabled = false
// rest of the function
}
Run Code Online (Sandbox Code Playgroud)
别忘了设置UITextFieldDelegate
和/或UITextViewDelegate
我希望这有助于某人:)
归档时间: |
|
查看次数: |
2894 次 |
最近记录: |