[RESOLVED] Device issues - keyboard and splash screen


#1

I am running into numerous issues on an iPhone 5s (latest OS, 9.2.1) that I do not see in the browser. The first two issues are specific to a real device, while the keyboard issues occur on the emulator and a real device.

  1. App does not get past splash screen (sporadic, device only)
  2. App gets past splash screen, but UI is entirely unresponsive and eventually crashes (sporadic, device only)
  3. Keyboard
    • When keyboard appears, it hides content at positions greater than its height by covering them in white

    • When keyboard is dismissed (by tapping elsewhere on the screen), the keyboard suddenly reappears without any input having focus.
    • When keyboard appears, users can scroll the content to view what is below, but all content that was originally below the keyboard is covered in white and not visible

I have installed the ionic keyboard plugin. Not sure if there is something obvious I am missing, because these issues make my app unusable.

Running “1.2.4-nightly-1917”


#2

Is anyone able to assist with this? It is difficult to find any information as to whether or not there is a setup step that has been missed. I am new to Ionic, so please let me know what additional information I should provide to help.


#3

Splash screen and freezing issues RESOLVED:

http://cordova.apache.org/announcements/2016/03/02/ios-4.1.0.html

npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.1.0

Keyboard issues also RESOLVED:

In $ionicPlatform.ready, set cordova.plugins.Keyboard.disableScroll(true);

On ion-content directives, REMOVE overflow-scroll="true".

I am also no longer placing my ion-content directives within ion-scrolls or vice versa.


#4

Was experiencing the keyboard bug also on every device and emulator i tested. After many tears shed i found out that the culprit was a text input and the issue happened every time i returned to the view with the input (via sidemenu link). I was able to make a hack by disabling the input on $view.beforeLeave event and then enabling it on $view.afterEnter using a 200ms timeout otherwise the issue persisted. Also when you clicked on the active link on the sidemenu the keyboard popped up again without focus and the app either crashed or froze. I applied another hack which was to hide the menu item when it was the active view.

@benjaminjbaum you are the first person i’ve heard which had a similar issue. I already tried removing the native scrolling but the issue still persisted. Information on this bug is very scarce and Xcode did not give any insight apart from telling me that the Keyboard should be moved to a background thread.


#5

@vohxha08 are your inputs in ion-content directives? Or ion-scrolls? Or both? And what is the overflow-scroll property (if any)?


#6

Sorry for delay. My full view template is

<ion-view view-title="Time 2 Eat" hide-back-button="true"> <ion-nav-buttons side="left"> <button class="button button-icon button-clear ion-navicon-round" menu-toggle="left"> </button> </ion-nav-buttons> <ion-nav-buttons side="right"> <button class="button button-clear" ng-click="go('app.map',{all:true})">{{::'GEN.MAP' | translate}}</button>&nbsp <button class="button button-clear" menu-toggle="right"> {{::'GEN.FILT' | translate}} </button> </ion-nav-buttons> <div class="bar-subheader"> <div class="item item-input outer no-mar"> <input placeholder="{{::'GEN.SEARCH' | translate}}" id="search-btn" options="searchOptions" type="search" g-places-autocomplete ng-model="place"> <i class="icon ion-ios-location animated placeholder-icon icon-right" id="set-location-btn" ng-click="locate()" ng-if="locationManual" ng-class="{'assertive': $root.myPosition != undefined && $root.myPosition != null}"></i> <i class="icon ion-navigate animated placeholder-icon icon-right ng-hide" ng-hide="locationManual" ng-class="{'positive': $root.myPosition != undefined && $root.myPosition != null}"></i> </div> </div> <ion-content scroll="false" class="padding has-subheader has-footer stable-bg has-trans"> <div class="row row-no-padding" style="height:100%"> <div class="col-center col"> <h4>{{::'HOME.TEXT' | translate}}</h4> <div class="list"> <label class="transparent item item-radio ng-valid"> <input type="radio" name="radio-group" checked value="1"> <div class="radio-content"> <div class="item-content disable-pointer-events"> <span>{{::'HOME.REST' | translate}}</span> </div> <i class="radio-icon disable-pointer-events icon ion-checkmark"></i> </div> </label> <label class="transparent item item-radio ng-valid"> <input type="radio" name="radio-group" value="2"> <div class="radio-content"> <div class="item-content disable-pointer-events"> <span>{{::'HOME.DELI' | translate}}</span> </div> <i class="radio-icon disable-pointer-events icon ion-checkmark"></i> </div> </label> </div> </div> </div> </ion-content> <div class="no-pad bottom bar bar-footer"> <button class="button icon-left icon ion-ios-search button-assertive button-full no-mar" ng-disabled="$root.myPosition == undefined || $root.myPosition == null" ng-click="::search()"> {{::'HOME.FIND' | translate}} </button> </div> </ion-view>

I don’t have overflow-scroll