Scrollen zur UITableViewCell nach Ändern der Größe des UITableView

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Scrollen zur UITableViewCell nach Ändern der Größe des UITableView

    Hallo iOS Entwickler,

    ich habe ein UITableView und in jeder Zelle ist ein UITextField.
    Wenn man in das UITextField tippt, wird die Tastatur angezeigt und das UITableView wird verkleinert.
    Jetzt soll das UITableView zur Zelle mit dem ausgewählten UITextField scrollen.

    Ich hab es schon so versucht, aber es funktioniert nicht:

    Quellcode

    1. [tvPopulation scrollRectToVisible:textField.frame animated:YES];


    Den indexPath kann ich nicht ermitteln, da man nicht die Zelle, sondern das UITextField antippt.
  • Da sich das TextField in einer TableViewCell befindet, bezieht sich der frame des TextFields natürlich auf die Koordinaten innerhalb der TableViewCell. D.h. jedes TextField hat sicherlich den selben origin innerhalb der jeweiligen TableViewCell.

    Du möchtest jedoch den TableView zur Position der TableViewCell verschieben. Daher benötigst Du den frame der TableViewCell, also des superviews des TextFields. Je nachdem ob Du das TextField direkt in die TableViewCell oder den contentView der TableViewCell gesteckt hast, musst Du ggf. rekursiv die superviews durchlaufen, bis Du zur TableViewCell gelangst. Letzteres sollte auch die sicherste Möglichkeit sein, falls Apple die View Hierarchie der TableViewCell mal ändern sollte.