2017-07-15 47 views
0

我試圖配置我的表格視圖的單元格根據顯示的單元類型有不同的不同鍵盤配置。配置UITableView單元文本字段鍵盤類型

在我func tableView(_ tableView: UITableView, cellForRowAt indexPath: 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() 
} 

}

回答

1

將else語句添加到您的表達式中以獲得正確的重用邏輯,例如:

if cell.entityLabel.text == "Home" || cell.entityLabel.text == "Mobile" { 
    cell.entityTextField.keyboardType = UIKeyboardType.namePhonePad 
} else { 
    cell.entityTextField.keyboardType = UIKeyboardType.emailAddress 
} 
+0

謝謝!我給了這個鏡頭,但仍然得到了和以前一樣的結果:/ – narner

+0

'text'屬性包含什麼? –

+0

我道歉;我不完全確定你在問什麼 – narner

相關問題