【发布时间】:2023-03-30 19:58:02
【问题描述】:
我想使用.phonePad 或.numberPad 键盘。
但它没有返回按钮。我需要这个。
我该怎么做?我应该创建一个自定义键盘吗?
【问题讨论】:
我想使用.phonePad 或.numberPad 键盘。
但它没有返回按钮。我需要这个。
我该怎么做?我应该创建一个自定义键盘吗?
【问题讨论】:
您可以使用UITextField的inputAccessoryView在键盘上方添加UIToolbar
假设您使用的是 Swift:
func setupTextfield() {
// ...
myTextField.inputAccessoryView = inputAccessoryView()
// ...
}
private func inputAccessoryView() -> UIToolbar {
let keyboardToolbar = UIToolbar()
keyboardToolbar.sizeToFit()
keyboardToolbar.isTranslucent = false
let flexBarButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace,
target: nil, action: nil)
let doneBarButton = UIBarButtonItem(barButtonSystemItem: .done,
target: self, action: #selector(UIView.endEditing(_:)))
keyboardToolbar.items = [flexBarButton, doneBarButton]
return keyboardToolbar
}
【讨论】:
您必须在键盘顶部添加工具栏。使用文本字段的 InputAccessoryView 属性。这是完整的教程
迅速
https://iosdevcenters.blogspot.com/2016/01/how-to-adding-return-key-in-number.html
目标c
【讨论】:
您可以在键盘顶部添加工具栏
- (void)viewDidLoad
{
[super viewDidLoad];
UIToolbar* toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
toolbar.items = @[[[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelAction)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Apply" style:UIBarButtonItemStyleDone target:self action:@selector(doneAction)]];
toolbar.barStyle = UIBarStyleBlackTranslucent;
[toolbar sizeToFit];
yourTextField.inputAccessoryView = toolbar;
}
-(void)cancelAction{
yourTextField.text = @"";
}
-(void)doneAction{
NSString *text = yourTextField.text;
}
【讨论】: