2012-07-25 11 views
7

Mam obiekt textField w mojej aplikacji na iPada. Chciałbym dać użytkownikowi wygodną klawiaturę do wprowadzania liczb. W moim kodu I dodaje:Które UIKeyboardType można używać na iPadzie

UITextField *textField = [[UITextField alloc] initWithFrame:frame]; 
textField.keyboardType = UIKeyboardTypeDecimalPad; 

Zgodnie z docs jest to prawidłowy typ klawiatury, ale kiedy edytować pole tekstowe normalna klawiatura ASCII wyjdzie. Jednak, kiedy go zmienić na:

textField.keyboardType = UIKeyboardTypePhonePad; 

Klawiatury wygląda następująco: phonepad keyboard

Idealnie chciałbym klawiaturę, która ma tylko cyfry i kropki dziesiętnej, ale czy nie jest to możliwe na iPadzie? Czy ktoś ma ostateczną listę klawiatur, które działają na iPhone'a i iPada? Apple nie jest jasne w tej kwestii. Zobaczyłem także to, że jest ono podobne, ale żadna z odpowiedzi naprawdę nie odnosi się do mojego punktu widzenia.

Dzięki!

Odpowiedz

10

To są znaki UIKeyboardTypes, które mogą być używane zarówno na urządzeniach z systemem iOS. Od the docs:

  • UIKeyboardTypeDefault

    • Użyj domyślnej klawiatury dla bieżącej metody wprowadzania.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeASCIICapable

    • używać klawiatury, który wyświetla standardowe znaki ASCII.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeNumbersAndPunctuation

    • używać cyfr i znaków interpunkcyjnych klawiatura.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeURL

    • używać klawiatury zoptymalizowane dla wejścia URL. Ten typ zawiera wyraźnie ".", "/" I ".com".
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeNumberPad

    • użytkowania klawiatura numeryczna przeznaczony do wprowadzenia PIN. Ten typ zawiera cyfry od 0 do 9 w widocznym miejscu. Ten typ klawiatury nie obsługuje automatycznej kapitalizacji w przypadku .
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypePhonePad

    • Zastosowanie manipulator przeznaczony do wprowadzania numerów telefonicznych. Ten typ zawiera znaki od 0 do 9 oraz znaki "*" i "#" . Ten typ klawiatury nie obsługuje automatycznego dodawania wielkich liter.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeNamePhonePad

    • Użyj klawiatura przeznaczona do wprowadzania nazwy lub numeru telefonu osoby. Ten typ klawiatury nie obsługuje automatycznego dodawania wielkich liter.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeEmailAddress

    • używać klawiatury zoptymalizowane do określenia adresów e-mail. Ten typ wyróżnia znaki "@", "." I spacji.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeDecimalPad

    • używać klawiatury z numerami i punkt dziesiętny.
    • Dostępne w iOS 4.1 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeTwitter

    • używać klawiatury zoptymalizowane do wprowadzania tekstu Twitter, z łatwym dostępem do @ # i znaków.
    • Dostępne w iOS 5.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

  • UIKeyboardTypeAlphabet

    • przestarzała.
    • Zamiast tego użyj UIKeyboardTypeASCIICapable.
    • Dostępne w iOS 2.0 i nowszych wersjach.
    • Zadeklarowane w UITextInputTraits.h.

Oto niektóre screenshots of the different types of keyboards.

+10

Hmm, ** UIKeyboardTypeDecimalPad ** zdecydowanie nie działa na iPadzie, podczas gdy niektóre z pozostałych produkują tę samą klawiaturę. tj. ** UIKeyboardTypePhonePad ** i ** UIKeyboardTypeNumberPad ** są takie same, o ile wiem. Byłbym zainteresowany, aby zobaczyć pełną listę klawiatur, które są faktycznie dostępne na iPadzie. –

+0

@SamanthaJohn: dostępna lista jest dodawana u góry odpowiedzi. Próbowałem tego ** UIKeyboardTypeDecimalPad ** na symulatorze ipad i działało dla mnie. –

+0

Masz rację, teraz działa dla mnie. Myślę, że ostatecznie będę musiał przetoczyć własną klawiaturę, ponieważ nie wydaje się, że Apple daje wiele domyślnych opcji dla iPada. (Tylko liczby lub litery i zawsze możesz się przełączać). –

5

testowałem, które są dostępne rodzaje klawiatury dla iPad/iPhone za pomocą symulatora po otrzymaniu ostrzeżenia

„nie można znaleźć keyplane który obsługuje typu 8 na klawiaturze Wildcat-Krajobrazowy-QWERTY-Pad, stosując 2592645918_Wildcat-alfabetu-Keyboard_Capital-Letters”

na iPAD do UIKeyboardTypeDecimalPad. Mam nadzieję, że jest to przydatne dla następnej osoby, która się tu potknie.

IPAD:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeTwitter

Tak, wszystkie z nich oprócz UIKeyboardTypeDecimalPad. używając UIKeyboardTypeDecimalPad dostajesz tylko klaps na nadgarstku w systemie iOS 5.1 lub 6.1.

iPhone:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeDecima LpAd
  • UIKeyboardTypeTwitter

tjwszystkie z nich: