从iPad上的UITextView键盘中删除“关闭键盘”键

时间:2011-05-11 14:22:20

标签: objective-c cocoa-touch ipad uitextview

我有一个模态视图,使用UITextView,用户可以输入一些文本(或不输入)并关闭模态视图。没有理由拒绝键盘,因为它没有关闭模态视图(这是故意的),而没有键盘的UITextView看起来很傻。

有没有办法隐藏或删除键盘上的“关闭键盘”键?

2 个答案:

答案 0 :(得分:4)

您无法隐藏或删除密钥,但您可以使用UITextViewDelegate协议将其停用:

- (BOOL)textViewShouldEndEditing:(UITextView *)textView {

    return NO;
}

如果UIKit迫使响应者辞职,尽管有代表(可疑,但我没有仔细查看调用堆栈),您可以通过观察UIKeyboardDidHideNotification并设置第一响应者来强制键盘保持运行状态回到UITextView:[myUITextView becomeFirstResponder]

答案 1 :(得分:0)

协议方法没有帮助。 正如Answerbot建议人们应该听键盘通知。

   - (void)onIpadViewWillAppear
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showIpadKeyboard) name:UIKeyboardDidHideNotification object:nil];
}

- (void)onIpadViewWillDisappear
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (void)showIpadKeyboard
{
    [myTextField becomeFirstResponder];
}

这很有效,看起来很漂亮。