【问题标题】:Can I use phonePad keyboard with return button? [duplicate]我可以使用带返回按钮的 phonePad 键盘吗? [复制]
【发布时间】:2023-03-30 19:58:02
【问题描述】:

我想使用.phonePad.numberPad 键盘。 但它没有返回按钮。我需要这个。

我该怎么做?我应该创建一个自定义键盘吗?

【问题讨论】:

    标签: ios uikit


    【解决方案1】:

    您可以使用UITextFieldinputAccessoryView在键盘上方添加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
    }
    

    【讨论】:

    • 谢谢。你的代码很简单。我很容易理解。谢谢。
    【解决方案2】:

    您必须在键盘顶部添加工具栏。使用文本字段的 InputAccessoryView 属性。这是完整的教程

    迅速

    https://iosdevcenters.blogspot.com/2016/01/how-to-adding-return-key-in-number.html

    目标c

    https://horseshoe7.wordpress.com/2012/08/17/tutorial-creating-a-done-button-on-the-iphone-number-pad-keyboard/

    【讨论】:

    • 这就是我一直在寻找的。谢谢。
    【解决方案3】:

    您可以在键盘顶部添加工具栏

        - (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;
        }
    

    【讨论】:

    • 非常感谢。我学到了很多。
    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多