2

我实现了一个UITextField应该只让用户包含十进制数字的方法。我已将键盘类型更改为,UIKeyboardTypeDecimalPad但此键盘布局上没有返回按钮以退出文本字段。我不想在键盘上添加额外的控件,因为它看起来很乱。如何更改dot按钮以返回并更改其功能,或者是否有其他选择?

4

1 回答 1

9

默认情况下,返回键不带有十进制键盘类型。使用以下代码片段来实现:

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 35.0f)];
    toolbar.barStyle=UIBarStyleBlackOpaque;

    // Create a flexible space to align buttons to the right
    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    // Create a cancel button to dismiss the keyboard
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(resetView)];

    // Add buttons to the toolbar
    [toolbar setItems:[NSArray arrayWithObjects:flexibleSpace, barButtonItem, nil]];

    // Set the toolbar as accessory view of an UITextField object
    _yourTextField.inputAccessoryView = toolbar;

希望这可以帮助。快乐编码!

于 2013-10-19T18:14:21.680 回答