Focus only work once inside a div with ng-show ! Help

Hi guys so i have been strugling with this for about 3 days now, unable to make it work. This is the situation, i have a service that implement focus wherever i want :

.factory(‘focus’, function($timeout, $window) {
return function(id) {
$timeout(function() {
var element = $window.document.getElementById(id);
if(element)
element.focus();
});
};
})

So in the controller i just call focus(‘fieldId’) and voila the focus is activated in that field, everything works fine in chrome, but in ios when i try to call this specific field :

div ng-show=“data.selectedProd”

                       <div class="Column item-content">
                            <label class="item item-input">
                              <span class="input-label">Cantidad :</span>
                              <input type="tel" ng-model="quantity" id="qty" /> 
                            </label>                            
                        </div>

/div

only work the first time i call it, and then stop working. If i remove the ng-show from the div it work fine but i need the ng-show what can i do any ideas ? (All other fields are being called correctly on ios only this one is giving issues). Sorry about my english