如何手动启用或禁用键盘上的返回键?

时间:2012-02-02 09:35:41

标签: objective-c ios keyboard

我有一个UITextView接收来自键盘的输入。选中“自动启用返回键”复选框,因此当UITextView为空时,将禁用返回键。

我在键盘上方有一个表情符号栏,可以将表情符号添加到UITextView,但这是问题所在;如果UITextView为空,我会向UITextView添加表情符号,如下所示:

[inputTextView insertText:@"\ue40d"];

然后仍然禁用ReturnKey,尽管UITextView的text属性不为空。

插入表情符号后我试过这个:

[inputTextView setEnablesReturnKeyAutomatically:NO];

没有结果。看起来启用/禁用键盘的返回键只能通过键盘输入字符来触发。

任何想法如何手动启用/禁用Return键?

2 个答案:

答案 0 :(得分:2)

这有点像黑客,但您可以尝试通过粘贴板插入文本:

UIPasteboard* generalPasteboard = [UIPasteboard generalPasteboard];

// Save a copy of the system pasteboard's items
// so we can restore them later.
NSArray* items = [generalPasteboard.items copy];

// Set the contents of the system pasteboard
// to the text we wish to insert.
generalPasteboard.string = text;

// Tell this responder to paste the contents of the
// system pasteboard at the current cursor location.
[textfield paste: nil];

// Restore the system pasteboard to its original items.
generalPasteboard.items = items;

// Free the items array we copied earlier.
[items release];

答案 1 :(得分:-1)

取消选中“自动启用返回键”