Ich bin neu bei Swift und habe Probleme mit dem Ausblenden der Tastatur, wenn sich das Textfeld in einer benutzerdefinierten Tabellenansichtszelle befindet. Ich denke, dass das Problem davon herrührt, dass die textField-Referenz in der TableViewCell-Klasse ist, aber ich kann nicht sicher sein. Ich habe alles versucht und bin ein wenig verloren.Ausblenden der Tastatur beim Drücken der Eingabetaste oder Klicken auf TableView mit benutzerdefinierter TabelleViewCell
Mein Code besteht aus:
TableViewCell:
import UIKit
class TableViewCell: UITableViewCell, UITextFieldDelegate
{
@IBOutlet weak var userText: UITextField!
@IBAction func answers(_ sender: UITextField)
{
}
override func setSelected(_ selected: Bool, animated: Bool)
{
super.setSelected(selected, animated: animated)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.delegate = self
textField.resignFirstResponder()
return true
}
}
und Tableviewcontroller:
import UIKit
class TableViewController: UITableViewController, UITextFieldDelegate
{
var textfield = TableViewCell()
override func viewDidLoad()
{
super.viewDidLoad()
let myText = textfield.userText
textField.resignFirstResponder()
myText?.delegate = self
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
return cell
}
}
Ich habe versucht, die textFieldShouldReturn
Funktion aus beiden Klassen läuft, aber ich kann es nicht an die Arbeit .
Mögliche Duplikat von [ Schließen Sie die iOS-Tastatur, indem Sie mit Swift eine beliebige Stelle berühren (https://stackoverflow.com/questions/24126678/close-ios-keyboard-by-touching-anywhere-using-swift) – Adrian
Hast du den textField.resignFirstResponder ausprobiert? –