This is the same problem as described in #26 and #1063. It seems that it was fixed for scrolling by the user, but if the scroll is done programatically the problem still occurs.
here is a snippet from a directive:
var scroller = $ionicScrollDelegate.$getByHandle('my-handle'),
setTop = function(){
var top = element[0].getBoundingClientRect().top;
if ( top > 62){ scroller.scrollBy(0, top - 62, true); }
};
When setTop is called, the scroll happens, but cursor stays in the original position (no longer over the input).