You can fix this with a multi-step process:
- keep track of the cell that contains the desired text field to make first responder
- calculate the
NSIndexPath
of the cell to be shown and call[self.tableView scrollToRowAtIndexPath:atScrollPosition:animated:]
to bring it into view - implement
tableView:willDisplayCell:forRowAtIndexPath:
to callbecomeFirstResponder
on the desired cell when it becomes visible and it matches the desired cell or index path
The last step is important because calling becomeFirstResponder
doesn't do anything if the receiver isn't a subview of any window.