カスタムキーボードのセットアップがあります。ボタンを作成しました。しかし、通常のキーボードのように押された値を渡すにはどうすればよいでしょうか?
たとえば、「1」というラベルの付いたボタンをタップすると、カスタム入力がinputViewであるuitextfield、またはカスタムキーボードの最初のレスポンダーであるテキストフィールドに送信します。
確かにこれは単純だな…
カスタムキーボードのセットアップがあります。ボタンを作成しました。しかし、通常のキーボードのように押された値を渡すにはどうすればよいでしょうか?
たとえば、「1」というラベルの付いたボタンをタップすると、カスタム入力がinputViewであるuitextfield、またはカスタムキーボードの最初のレスポンダーであるテキストフィールドに送信します。
確かにこれは単純だな…
これを試して:
UITextField textfield; //your textfield
- (void) whenButtonIsClicked{
textfield.text = [NSString stringWithFormat:@"%@%@", textfield.text, NEW_CHARACTER_FROM_BUTTON_CLICK];
}
カスタム キーボードにはデリゲートがあるか、カスタム キーボード ビューでボタンを押すためのデリゲートが必要ですよね? その場合、ボタンを押すための代表的なデリゲートの実装は、たとえばカスタムのテンキーの場合、次のようになります。
- (void) customKeyboardView: (YourCustomKeyboardView*) customKeyboardView didTapButtonAtIndex: (NSUInteger) index {
if (index == 9) {
// Tapped empty button
} else if (index == 11) {
// Back Button Tapped
NSString* input = self.yourTextField.text;
if ([input length] > 0 )
self.yourTextField.text = [input substringToIndex: [input length] - 1];
} else {
self.yourTextField.text = [NSString stringWithFormat:@"%@%@", self.yourTextField.text, [self titleForButtonAtIndex: index]];
}
}