unter Code soll Benutzernamen aus einem Array und Benutzer in der Lage sein, auf den gewünschten Benutzernamen tippen. Aufruf an dieses Array ist ein Erfolg und ich kann die Benutzernamen sehen, aber nicht in der Lage sein, darauf zuzugreifen. und es druckt nicht einmal "didSelectRowAt". schätze deine Hilfe. Vielen Dank.didSelectRowAt von benutzerdefinierten Zelle nichts tun
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier", for: indexPath) as! MentionUserCell
cell.username!.text = autoComplete[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return autoComplete.count
}
func numberOfSections(in tableView: UITableView) -> Int
{
return 1
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let selectedCell: MentionUserCell = tableView.cellForRow(at: indexPath)! as! MentionUserCell
let selectedWord: String = selectedCell.username!.text! + " "
print("didSelectRowAt")
var string: NSString = NSString(string: self.commentTextView.text!)
string = string.replacingCharacters(in: otoCadang.sharedInstance.foundRange, with: selectedWord) as NSString
// change text field value
commentTextView.text = string as? String
// change cursor position
let positionOriginal = commentTextView.beginningOfDocument
if let cursorLocation: UITextPosition = self.commentTextView.position(from: positionOriginal, offset: otoCadang.sharedInstance.foundRange.location + selectedWord.characters.count)
{
self.commentTextView.selectedTextRange = self.commentTextView.textRange(from: cursorLocation, to: cursorLocation)
}
// remove suggestion
self.autoComplete.removeAll()
self.tableView.reloadData()
tableView.isHidden = true
}
Haben Sie versucht, Ihren Code zu debuggen? fügen Sie einfach einen Haltepunkt in der 'didSelectRowAt' hinzu und überprüfen Sie, was passiert ... –
Stellen Sie sicher, dass der Auswahlmodus der Tabelle nicht auf 'Keine Auswahl' eingestellt ist. –
Ist dies ein' UITableViewController' oder ein 'UIViewController' mit einer hinzugefügten Tabelle? Wenn Letzteres, haben Sie den Delegat der Tabelle festgelegt? – rmaddy