iphone - 知道显示的是哪个键盘

标签 iphone ios notifications nsnotificationcenter uikeyboard

我正在构建一个带有 UITextField 的应用程序,当用户点击它时会显示十进制键盘。

我想自己在键盘上方添加一个“完成”按钮,所以我想使用它:

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

它可以完美地检测键盘何时启动,但我的问题是我在同一个 UIView 上有其他文本字段,但我不想在它们上面添加这个“完成”按钮.

有没有办法检测显示的是十进制键盘还是普通键盘?

非常感谢您的帮助!

最佳答案

你需要使用 textfied 的 inputAccessoryView 属性

txtfld.keyboardType=UIKeyboardTypeDecimalPad;
txtfld.inputAccessoryView=[self toolBarForKeyboardAccessory];

然后

-(UIToolbar *)toolBarForKeyboardAccessory
{
 UIToolbar *keyboardToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
 keyboardToolbar.barStyle = UIBarStyleDefault;

UIBarButtonItem* flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];


UIBarButtonItem* cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelButtonClicked:)];
 CGRect rect = CGRectMake(1, 5.0, 250, 30);
KeyboardTextField = [[UITextField alloc] initWithFrame:rect];
KeyboardTextField.borderStyle = UITextBorderStyleRoundedRect;
KeyboardTextField.font = [UIFont systemFontOfSize:17.0];
KeyboardTextField.delegate = self;

 UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:KeyboardTextField] ;

[keyboardToolbar setItems:[NSArray arrayWithObjects: flexSpace,textFieldItem,flexSpace, cancelButton,flexSpace, nil] animated:NO];

return keyboardToolbar;
}

关于iphone - 知道显示的是哪个键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18231122/

相关文章:

iphone - iPhone 5启动图片和App评论

javascript - 如何使用 laravel 每 x 秒自动刷新一个 div

iphone - 如何设置ICarousel一张一张图片滑动一次

iphone - CoreData 中的单例实体

iphone - [__NSCFConstantString 产品标识符] : unrecognized selector sent to instance 0x1ac04'

iphone - 获取图像的缩放坐标

ios - Firebase 身份验证 iOS 登录获取用户详细信息

iphone - Restkit 不会将对象属性插入到请求 URL 路径的路径模式中

java - 这在生成器中不能应用

xcode - Xcode 8 中的警告 : Instance method nearly matches optional requirement