Ios 配置UITableView单元格文本字段键盘类型
我试图根据显示的单元格类型,将表视图的单元格配置为具有不同的键盘配置 在我的Ios 配置UITableView单元格文本字段键盘类型,ios,swift,uitableview,uikeyboardtype,Ios,Swift,Uitableview,Uikeyboardtype,我试图根据显示的单元格类型,将表视图的单元格配置为具有不同的键盘配置 在我的func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell方法中,我有以下代码来检查键盘上的UILabel.text的值: if cell.entityLabel.text == "Home" || cell.entityLabel.text == "Mobile" { cell.en
func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell
方法中,我有以下代码来检查键盘上的UILabel.text
的值:
if cell.entityLabel.text == "Home" || cell.entityLabel.text == "Mobile" {
cell.entityTextField.keyboardType = UIKeyboardType.namePhonePad
}
但是,这些单元格仍然显示相同的“默认”键盘
知道我遗漏了什么吗
编辑:我忘记了一些重要的事情!这些UITableView
单元格实际上是在一个单独的类中创建的,EditTableViewCell.swift
。因此,我修改了awakeFromNib()
方法,如下所示(但仍然得到相同的结果):
重写func awakeFromNib(){
super.awakeFromNib()
//初始化代码
if entityLabel.text == "Home" || entityLabel.text == "Mobile" {
entityTextField.keyboardType = UIKeyboardType.namePhonePad
entityTextField.reloadInputViews()
}
else {
entityTextField.keyboardType = UIKeyboardType.default
entityTextField.reloadInputViews()
}
}将else语句添加到表达式中以获得正确的重用逻辑,例如:
if cell.entityLabel.text == "Home" || cell.entityLabel.text == "Mobile" {
cell.entityTextField.keyboardType = UIKeyboardType.namePhonePad
} else {
cell.entityTextField.keyboardType = UIKeyboardType.emailAddress
}
谢谢我试了一下,但还是得到了和以前一样的结果:
text
属性包含什么?我道歉;我不完全确定您在问什么您是否尝试在if
分支中添加断点?为什么你的情况不起作用?检查单元格的text
属性中的值。entityLabel
Ah,是;我确实设置了断点,并且正确地达到了更改键盘类型的逻辑。