2015-05-23 17 views
7

Belirli bir metin alanı için özel bir girdim var ve iyi çalışıyor. Ancak, görünümü nasıl reddedeceğimi ve normal klavyeyi nasıl geri alacağımı ayırt edemiyorum. (TextField'ın hemen yanında bir SWAP düğmem var.) Metin alanının inputView değerini sıfırlamaya çalıştım ama bu hiçbir şey yapmadı.iOS'ta standart klavye için özel bir giriş görünümü

Tam özel bir klavyeye ihtiyacım yok, ancak klavyenin üzerinde bir Aksesuara bakmadan daha fazlasına ihtiyacım var, bu yüzden bu yolu deniyorum. Normal klavyeye ek olarak 20 özel düğüme ihtiyacım var ve çok fazla yer kaplayan dev bir Aksesuar görünümü fikrini beğenmiyorum.

Ayrıca, uygulamayı kullanabilmeniz için öncelikle kullanıcının tam bir özel klavye yüklemesini istemiyorum.

Önerileriniz için çok teşekkür ederim.

cevap

9

ben muhtemelen bunu yapmak zorunda olacağını düşünüyorum: metin alanında kendi inputView

  • nil için Çağrı becomeFirstResponder set animasyon bittikten sonra UITextField
  • üzerinde

    1. Çağrısı resignFirstResponder

    Klavye animasyon süresi, userInfo dictionar içinde gönderilir Klavye sunum bildirimlerinde y.

    kabul edilen yanıt, sen reloadInputViews() kullanabilirsiniz ek olarak
  • +0

    Çok teşekkür ederim! Ayrıca, kullanıcının klavyeyi ve özel girişi istediği zaman girip çıkarabilmesi için bildirimi yakalamanın da kolay olduğu ortaya çıktı. Mükemmel! –

    4

    (ve bu resignFirstResponder kaynaklanan herhangi animasyon pürüzleri yakalanma olasılığı daha az olan, becomeFirstResponder çağırır):

    1. yourTextField.inputView = nil;
    2. yourTextField.reloadInputViews();

    Burada daha fazla bilgi için Apple's Docs numaralı telefonu bulabilirsiniz.

    İlgili konular