2015-08-06 21 views
6

İyonik çerçeveyi kullanarak bir iOS uygulaması yapıyorum. Seçici öğeleri kullandığımda, iOS-native menüsündeki öğeleri seçerken üstbilgiyi "Bitti" etiketiyle alamıyorum. Ancak, uygulamayı iOS/Safari'de kullandığımda görünecektir. Ekran görüntüleri ve ekli kod. Bu konuda herhangi bir girdi/çözüm çok takdir edilecektir.HTML "İyon" etiketini iOS için İyonik gösterilmiyor

Ekran:

iOS Safari Ekran iOS Safari Screenshot

iOS Yerli/İyonik Ekran iOS Native/Ionic Screenshot

Biçimlendirme

<label class="item item-input item-select"> 
    <div class="input-label"> 
     Bostadstyp 
    </div> 
    <select ng-change="addParam('objectType', selectedHouseType)" ng-model="selectedHouseType" ng-options="houseType.id as houseType.label for houseType in houseTypes"></select> 
</label> 
+0

Olası yinelenen [iOS Chrome HTML SELECT'te "Bitti" göstermek değil opsiyon] (http://stackoverflow.com/questions/22960376/html-select-on-ios-chrome-doesnt-show -onun seçeneği) – you786

cevap

7

İyonik uygulama, app.js uygulamasında klavye erişim çubuğunu gizleyen varsayılan bir kod içeriyor, şu satırı eklemeniz gerekiyor: cordova.plugins.Keyboard.hideKeyboardAccessoryBar (true); Böyle

Alma şey: @ emccracken en yorumla ilgili olarak

// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
// for form inputs) 
if (window.cordova && window.cordova.plugins.Keyboard) { 
    //cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
    cordova.plugins.Keyboard.disableScroll(true); 

} 
+1

Awesome! Bunun için teşekkürler! Gerçekten minnettarım. Neden ilk etapta kullanmak isterim? – emccracken

+0

Güzel! İyonic projesinin neden bu gizli işlevle aktif olduğunu anlamıyorum. – lucasbastianik

+7

Tecrübemde, yorum yapmak onu kesmedi. “Doğruyu”, “yanlış” olarak değiştirmek ve bu şekilde çalıştırmak zorunda kaldım. Böylece kanlı problemler sadece aşağıdaki kodu çalıştırdığınızda ortadan kalkar; cordova.plugins.Keyboard.hideKeyboardAccessoryBar (yanlış); –

3

, according to the Ionic Team the reason for hideKeyboardAccessoryBar is "yerli uygulamalar nadiren bir suç ortağı bar var da ondan ölü bir uygulama web teknoloji ile inşa edilmiş ve doğal değildir ki vermek. ."

explained a bit here olan aksesuar çubuğunu isteğe bağlı olarak gösterebilir ve gizleyebilirsiniz. Yönergeden $ zaman aşımlarını almak benim için daha iyi çalıştı. İşte benimki neye benziyor.

.directive('select', function() { 
    return { 
    restrict: 'E', 
    link: function(scope, element, attrs) { 
     element.bind('focus', function(e) { 
     if (window.cordova && window.cordova.plugins.Keyboard) { 
      // console.log("show bar (hide = false)"); 
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false); 
     } 
     }); 
     element.bind('blur', function(e) { 
     if (window.cordova && window.cordova.plugins.Keyboard) { 
      // console.log("hide bar (hide = true)"); 
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     } 
     }); 
    } 
    }; 
}) 
+0

Bu, artık son 2 aydan beri çalışmıyor. İyonik klavye eklentisi, yaptığınız değişiklikleri yaptıktan sonra geçersiz kılar, bu yüzden ya zamanın% 100'ünde bir aksesuar çubukla ya da% 100'lük bir aksesuar çubuğu olmadan sıkışmış olursunuz. Bu gerçekten aptalca. –

İlgili konular