2011-09-28 6 views

答えて

0

This page has a great tutorial about customizing a keyboard。これを使用して、不要なボタンを隠すか、現在のボタンを変更することができるように見えます。

基本的に、あなたはUIKeyboardWillShowNotificationのためのオブザーバーとして登録する必要があります。

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(keyboardWillShow:) 
              name:UIKeyboardWillShowNotification 
              object:nil]; 

をし、あなたのkeyboardWillShow:通知ハンドラ内のカスタマイズを行います。この行の

- (void)keyboardWillShow:(NSNotification *)notification { 
    // locate keyboard view 
    UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1]; 
    UIView* keyboard; 
    for(int i=0; i<[tempWindow.subviews count]; i++) { 
     keyboard = [tempWindow.subviews objectAtIndex:i]; 
     // keyboard view found; add the customization to it 
     if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) 
      UIView *customView = [[UIView alloc] init]; 
      // do stuff to customView here 
      [keyboard addSubview:customView]; 
    } 
} 

接頭 if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)は異なる場合があります。だから、NSLogを使用して一度ループして、すべてのサブビューの説明を印刷して、チェックする必要のある文字列を確認する必要があります。


そして、ここで提供されているデフォルトのキーボードに関するいくつかの情報がある(非カスタマイズされた)

UIKeyboardType - The type of keyboard to display for a given text-based view.

各キーボードタイプのイメージのためthis UIKeyboardType pageをチェックしてください。ここで

UITextInputTraits Protocol Reference

typedef enum { 
    UIKeyboardTypeDefault, 
    UIKeyboardTypeASCIICapable, 
    UIKeyboardTypeNumbersAndPunctuation, 
    UIKeyboardTypeURL, 
    UIKeyboardTypeNumberPad, 
    UIKeyboardTypePhonePad, 
    UIKeyboardTypeNamePhonePad, 
    UIKeyboardTypeEmailAddress, 
    UIKeyboardTypeDecimalPad, 
    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable 
} UIKeyboardType; 
  • UIKeyboardTypeDefault

からいくつかの定義は、現在のインプットメソッドのデフォルトのキーボードを使用しています。 iOS 2.0以降の で利用できます。

  • UIKeyboardTypeASCIICapable

標準のASCII文字を表示するキーボードを使用してください。 iOS 2.0以降の で利用できます。

  • UIKeyboardTypeNumbersAndPunctuation

数字や句読点のキーボードを使用してください。後でiOS 2.0と で利用可能です。

  • UIKeyboardTypeURL

URLエントリ用に最適化され、キーボードを使用してください。このタイプには、 "。"、 "/"、 と ".com"が目立っています。 iOS 2.0以降で使用できます。

  • UIKeyboardTypeNumberPad

PIN入力用に設計された数値キーパッドを使用してください。このタイプには、0〜9の数字が目立つように があります。このキーボードタイプは 自動大文字をサポートしていません。 iOS 2.0以降で使用できます。

  • UIKeyboardTypePhonePad

電話番号を入力するために設計されたキーパッドを使用してください。このタイプの には、0〜9の数字と、「*」と「#」の文字 が目立っています。このキーボードタイプは自動大文字化をサポートしていません。 iOS 2.0以降でご利用いただけます。

  • UIKeyboardTypeNamePhonePad

人の名前や電話番号を入力するために設計されたキーパッドを使用してください。 このキーボードタイプは自動大文字化をサポートしていません。 iOS 2.0以降の で利用できます。

  • UIKeyboardTypeEmailAddress

の電子メールアドレスを指定するための最適化されたキーボードを使用してください。このタイプの には、「@」、「。」および空白文字が目立っています。 iOS 2.0以降の で利用できます。

  • UIKeyboardTypeDecimalPad

数字でキーボードと小数点を使用してください。 iOS 4.1 以降で利用可能です。

  • UIKeyboardTypeAlphabet

推奨されていません。代わりにUIKeyboardTypeASCIICapableを使用してください。 iOS 2.0以降で利用可能です。

+0

パーフェクト、私は知っている...そして?あなたの答え? – elp

0

あなた自身のキーボードを作ること(それほど難しいことではありません)とは別に、UITextFieldとデリゲートメソッドを使用して入力をフィルタリングします。

+0

あなた自身のキーボードを作ることに注意してください.Appleはあまり好きではなく、あなたのアプリを拒否するかもしれません。 – coder

関連する問題