如何在文本字段中避免键盘

时间:2015-05-23 20:26:17

标签: swift

我使用了几个按钮' 0123456789。' (和其他一些人)作为键盘的替代品。它们连接到(几个)texfields。我以编程方式制作它们,所以没有故事板。我也使用UITextFieldDelegate。这按预期工作,我可以将文本输入文本域。

我将以下代码用于我的按钮:

func textFieldDidBeginEditing(textField: UITextField) {
    activeField = textField
}

@IBAction func Pressed(sender: UIButton) {
    if (activeField != nil) {
        switch sender.tag {
        case 0:
            activeField!.text = activeField!.text+"0"
        case 1:

问题是我每次点击文本字段时,键盘都会打开。我想避免这种情况......因为我用按钮做了输入替代。单击文本字段时如何摆脱键盘?

3 个答案:

答案 0 :(得分:0)

只需从您提及的代表中NO返回textFieldShouldBeginEditing:

  

当用户执行通常会启动编辑会话的操作时,文本字段首先调用此方法以查看是否应该实际进行编辑。在大多数情况下,您只需从此方法返回YES即可继续编辑。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if (textField == /* a text field that is using your custom layout */)
        return NO;
}

[Source]

虽然你为什么不使用[textField setKeyboardType:UIKeyboardTypeNumberPad];

答案 1 :(得分:0)

您应该将自定义键盘设为textField的inputView。然后将显示它而不是内置键盘。

即:

$(':checkbox').click(function() {
    console.log('checkbox clicked');
    this.change();
});

答案 2 :(得分:0)

我使用自定义按钮制作了类似的输入界面...为什么不使用UITextField,而是使用UILabel来显示" 8,900" (输入)。

然后让按钮操纵UILabel.text