I’m currently using BSKeyboardControls to add that fancy Next/Previous/Done buttons to the top of the keyboard on the iPad. I have noticed, however, that while scrolling through the fields in a UITableView, the cursor would sometimes disappear and the keyboard would be detached (typing does nothing).

I threw some logging together and make a discovery – scrolling to a UITableViewCell far off the screen that is UIView.hidden == YES doesn’t allow subviews to receive the becomeFirstResponder message.

[gist 5100167]

And the logs: [gist 5100147]

The solution (the only one I could come up with) is to fire off a message to the text field after a short delay to become the first responder. This seems to solve the problem.

[gist 5100164]