【Unity/iOS】TouchScreenKeyboardの入力欄をカスタマイズ
InputFieldをタップすると、モバイルではTouchScreenKeyboardが出てきます。 その上に入力欄が表示されますが、このUI部分はNativeで作られているので、 カスタマイズする場合はNativeのコードを変更する必要があるようです。
- 変更前(デフォルト)
- 変更後
Keyboard.mm
iOS向けにBuildするとXcode用のプロジェクトが生成され、 その中にある以下のiOS(Objective-C)のコードを変更します。なお、AppendではなくReplaceすると元に戻るので注意が必要です。
Classes > UI > Keyboard.mm
createToolbarWithView
ここで表示する部品の生成をしています。
- (CreateToolbarResult)createToolbarWithView:(UIView*)view
UIToolbar
バー全体の部分に該当します。
背景色を変更する場合
toolbar.barTintColor = [[UIColor alloc]initWithRed:1 green:1 blue:1 alpha:1];
UIBarButtonItem
バーに貼り付けるボタン(Done, Cancel)です。
ボタンのテキストを変更
UIBarButtonItem* doneItem = [[UIBarButtonItem alloc] initWithTitle:@"送信" style:UIBarButtonItemStylePlain target:self action:@selector(textInputDone:)];
ボタンに画像を設定
UIBarButtonItem* doneItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"SendIcon.png"] style:UIBarButtonItemStylePlain target:self action:@selector(textInputDone:)];
画像を使用する場合、XcodeのUnity-iPhone/Images.xcassets/
を選択。
[+]を押下しimagesetを追加後、等倍/2x/3xの画像をドラッグ&ドロップで設定すると画像を使用できるようになります。
positionInput
ここで入力欄のinputView
のサイズを決定しています。
- (void)positionInput:(CGRect)kbRect x:(float)x y:(float)y