以下に示すキーボードは、Cocoa が提供するデフォルトの一部ではないため、カスタム ビルドする必要があります。以下のようなキーボードを作成する必要があります。
私はそれを使用するいくつかのアプリを見てきました.いくつかのボタンでカスタムバーを上に追加するチュートリアルを見ました.
Objective Cでこれをプログラムでどのように行うことができますか? 誰かが私を正しい方向に向けることができますか?
以下に示すキーボードは、Cocoa が提供するデフォルトの一部ではないため、カスタム ビルドする必要があります。以下のようなキーボードを作成する必要があります。
私はそれを使用するいくつかのアプリを見てきました.いくつかのボタンでカスタムバーを上に追加するチュートリアルを見ました.
Objective Cでこれをプログラムでどのように行うことができますか? 誰かが私を正しい方向に向けることができますか?
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;
}
質問の画像は 5RowQWERTY プロジェクトからのものです: http://code.google.com/p/networkpx/wiki/Using_5RowQWERTY
このプロジェクトはジェイルブレイクされたデバイスでのみ動作し (私が知る限り)、プライベート API を使用しているため、アプリ ストアには受け入れられません。これらの制限が問題ない場合は、そのプロジェクトを使用してください。新しいキーボード レイアウト ファイル ( layout.plist
) をインストールします。
ジェイルブレイクされていないデバイスで実行したい場合、またはアプリをアプリ ストアに配置したい場合は、その方法を使用できません。次の 3 つのオプションが表示されます。
キーボードが表示されたら、キーボードのビュー階層を掘り下げて (独自のものがUIWindow
あるため、[[UIApplication sharedApplication] windows]
配列から始めます)、独自の数字ボタンを追加します。これは多くの作業であり、うまく行うのは非常に難しく、とにかく Apple によって拒否される可能性が非常に高いです。
キーボードをゼロから再実装します。複数のキーボード レイアウトをサポートし、システム キーボードの感触と動作に完全に一致させたい場合、これは膨大な量の作業になります。
あきらめてinputAccessoryView
、数字ボタンの列に設定するだけです。かんたんだよ。
私のアドバイスは、オプション 3 以外は時間の無駄だということです。を使用しinputAccessoryView
て数字バーを表示し、ユーザーにとって真の価値を追加するアプリの部分に進むだけです。
それは非常にオープンエンドな質問です。あなたは基本的に「iOS でカスタム ビューを作成するにはどうすればよいですか?」と尋ねています。
開始するためのいくつかのポイントを次に示します。
システムのデフォルト キーボードの外観を持つ新しいビューを作成しています。キーボードのボタンごとにリソースを収集する (リソースを作成するか、無料のものを入手する) 必要があります。
これらすべてを IB にまとめることができます。UIButtons のコレクションにすぎないビュー。
キーボードを使用するには、ビューを inputView として割り当てます。
カスタムinputViewを構築するチュートリアルは次のとおりです: http://www.raywenderlich.com/1063/ipad-for-iphone-developers-101-custom-input-view-tutorial