Good point about this only getting called when keyboard is first shown. Ideally, you would attach textfield did_begin_editing delegates that scroll the textfield to the top of the scroll view. Even if you don't own those, you could basically store the original delegate within your custom delegate, and then call the original delegate methods after you scroll into place.
@ahenry91 I'd really love to see enough keyboard shortcuts in Pythonista that the editor, with a bluetooth keyboard, could be navigated entirely by keyboard shortcuts, without ever touching the screen.
A more complete set of key commands wouldn't be hard for @omz to implement, I guess it's just not a top priority. Anywho, this is something I'd like to see in the next update after Pythonista 3.
Bummer. I sat on iOS 7 forever and finally gave into upgrading when I saw you released the 2.0 update which required a later iOS, only to have overall functionality and usability reduced due to iOS related bugs. I'm grateful for the new functionality, but I would roll back to the old version if it weren't a pain to revert the os as well.
Any hope of fixing this and the other keyboard input bugs?
Ok, found a working solution in the MapView objc sample:
Need to use a dummy ui.Button and set the Python click handler function as its "action". Then can use the button as the target and sel("invokeAction:") as the action when defining the Objc accessory button.