防止键盘以文本字段作为第一响应者出现

时间:2012-02-02 11:17:16

标签: ios keyboard-events uikeyboard

我发了一个新帖子,因为我有一个问题,我无法在互联网上找到答案。我正在使用蓝牙条码器,视野干净,没有任何可视文本字段。为了捕获条形码的信息我使用隐藏的文本字段并且工作正常。问题是当Barcoder断开连接时它出现在键盘上,因为一个字段是第一个响应者。我不想辞去那个领域,但我不想让键盘出现。

我有一个能在键盘出现时捕捉的功能:

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

我想要的是停止键盘事件,或者如果不可能,则在出现时隐藏它。关于它的任何想法?任何帮助都非常有用......

谢谢你们!

2 个答案:

答案 0 :(得分:3)

Dhilip的回答可能适合你。如果没有这里有一些替代方案:

1)将textField.enabled属性设置为NO。

2)子类UITextField并为inputView返回nil:

@interface MyTextField: UITextField

@end

@implementation MyTextField

- (void)inputView
{
    return nil;
}

@end

如果你使用你的自定义文本字段而不是常规的UITextField,它的工作方式是相同的,除了你曾经说过使用nil作为键盘而不是UIKeyboardView(这是默认的)。

答案 1 :(得分:1)

我无法理解你的问题,但我仍然向你提出建议。

如果您以编程方式在UITextField中设置文本,则可以将userInteractionEnabled属性设置为No。