2012-05-31 3 views
5

下記のキーボードは、Cocoaが提供するデフォルトの一部ではないため、カスタムビルドする必要があります。私は以下のようなキーボードを作成する必要があります。Objective CのiPhone向けカスタム数字と文字キーボード

私はいくつかのボタンを使ってカスタムバーを追加するチュートリアルを見ましたが、通常のキーボードのように表示され、機能する必要があります数字の

これはObjective Cでどのようにプログラムで実行できますか?誰かが私を正しい方向に向けることができますか?非常にオープンエンドの質問です

enter image description here

+1

[計算されたカスタムキーボードGUI(http://stackoverflow.com/q/2558806/)の可能重複、http://stackoverflow.com/q/4459375/、http://stackoverflow.com/q/ 8322989 /、http://stackoverflow.com/q/1610542/、http://stackoverflow.com/q/5603103/、http://stackoverflow.com/q/789682/、http://stackoverflow.com/ Q/9451912、http://stackoverflow.com/q/1332974/ –

+2

基本的には[「カスタムiphoneキーボード」を検索]の全体の最初のページ(http://stackoverflow.com/search?q=custom+iphone+キーボード)。 –

答えて

2

画像5RowQWERTYプロジェクトからである:http://code.google.com/p/networkpx/wiki/Using_5RowQWERTY

このプロジェクトだけ(私の知る限り)ジェイルブレイクデバイス上で動作し、確かにそれが受け入れられないために作る、プライベートAPIを使用していますアプリストア。それらの制限があなたと大丈夫ならば、ただそのプロジェクトを使用してください。新しいキーボードレイアウトファイル(layout.plist)がインストールされます。

jailbroken以外のデバイスで実行する場合や、アプリをアプリケーションストアに配置する場合は、その方法を使用することはできません。あなた自身の数字ボタンを追加します(それはそう[[UIApplication sharedApplication] windows]配列で始まるUIWindow独自のを持っている)が表示された後、キーボードのビュー階層に周り

  1. 掘る:私は3つのオプションを参照してください。これは多くの作業であり、うまくやるにはやりにくく、とにかくAppleによって拒否される可能性が非常に高いです。

  2. キーボードを最初から再実装します。これは、複数のキーボードレイアウトをサポートし、システムキーボードの感触と動作を真に一致させたい場合、膨大な作業です。

  3. 数字ボタンの行にあきらめて、ちょうどinputAccessoryViewを設定します。かんたんだよ。

私のアドバイスは、オプション3以外のものは時間の無駄です。ただ、数バーを表示し、ユーザーのための真の価値を追加するには、アプリの部分に移動するinputAccessoryViewを使用しています。

+0

はい、それは正しいです、それはイメージを持っています。どのようにそれを行うことができます私の質問。間違いなくjailbrokenや拒否されたアプリを持つことはできません。クライアントが間違いなくそのキーボードを望んでいるので、痛いオプション2のように聞こえるかもしれません。ありがとう! –

1

。基本的には、「iOSでカスタムビューを作成するにはどうすればよいですか?ここで

が起動するいくつかのポイントです:

  1. あなたは、システムのデフォルトのキーボードの外観を持つ新しいビューを作成しています。あなたは、それぞれのキーボードのボタンのためにリソースを収集するか、リソースを取得する必要があります。

  2. これをすべてIBにまとめることができます。あなたのUIButtonsのコレクションだけであなたのビュー。

  3. キーボードを使用するには、ビューをinputViewとして割り当てます。

ここでカスタムinputViewを構築するチュートリアルです:http://www.raywenderlich.com/1063/ipad-for-iphone-developers-101-custom-input-view-tutorial

+0

質問は、カスタムビューを構築する方法ではありませんが、デフォルトのキーボードに数字ボタンの行を追加する方法。 –

5

あなたはUIToolbarを使用して、そこに0-9のボタンを追加することができます。 iPhoneキーボードのように色をつけたり、淡色にすることもできますが、実際のキーボードビューに追加する方法はわかりません。あなたの質問で

//Feel free to change the formatting to suit your needs more 
//And of course, properly memory manage this (or use ARC) 

UIBarButtonItem *my0Button = [[UIBarButtonItem alloc] initWithTitle:@"0" style:UIBarButtonItemStyleBordered target:self action:@selector(addNumberToString:)]; 
UIBarButtonItem *my1Button = [[UIBarButtonItem alloc] initWithTitle:@"1" style:UIBarButtonItemStyleBordered target:self action:@selector(addNumberToString:)]; 

UIToolbar *extraRow = [[UIToolbar alloc] init]; 
extraRow.barStyle = UIBarStyleBlack; 
extraRow.translucent = YES; 
extraRow.tintColor = [UIColor grayColor]; 
[extraRow sizeToFit]; 
NSArray *buttons = [NSArray arrayWithObjects: my0Button, my1Button, etc, nil]; 
[extraRow setItems:buttons animated:YES]; 
textView.inputAccessoryView = extraRow; 



-(void) addNumberToString: (id) sender 
{ 
    //Where current string is the string that you're appending to in whatever place you need to be keeping track of the current view's string. 
    currentString = [currentString stringByAppendingString: ((UIBarButtonItem *) sender).title; 
} 
+0

はい、私はジェイルブレーキングせずにそれを行うための唯一の方法だと信じています。 –

関連する問題