I have in iOS8 a table view like this:
tableView = UITableView(frame: view.bounds, style: .Plain)
view.addSubview(tableView)
When the user types and sends some text in the keyboard, the application ivoke the following method to scroll the tableView. The goal is to view the new text in the screen (like a chat)
let numberOfRows = tableView.numberOfRowsInSection(0)
if numberOfRows > 0 {
let indexPath = NSIndexPath(forRow: numberOfRows-1, inSection: 0)
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: UITableViewScrollPosition.Bottom, animated: animated)
}
But the table view does not scroll to the bootom.
Someone has a solution?
Thank you.
Explanation:
Definition of the class:
class ChatViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextViewDelegate
then I have the definition of the table view:
var tableView: UITableView!
in viewDidLoad:
tableView = UITableView(frame: view.bounds, style: .Plain)
tableView.dataSource = self
tableView.delegate = self
view.addSubview(tableView)
then I have the call to the code that should make the scroll (second block of code on my answer). When I launch the application I expect the tableview to scroll down, but it does not work.
Try reloading first before calling scroll. Very weired but works for iOS8.