【问题标题】:How to disable keyboard in UITextView or how make the return key work?如何在 UITextView 中禁用键盘或如何使返回键起作用?
【发布时间】:2013-01-19 09:05:07
【问题描述】:

我正在使用 UITextView 而不使用 xib(以编程方式)。我有一个水平滚动的文本。我无法禁用键盘,我使用过:

textView.editable = NO;

否则我想使用也不起作用的返回键,我用过:

-(void)textFieldDidEndEditing:(UITextView *)textView{

NSLog(@"%@",textView.text);
[textView resignFirstResponder];

或者我可以有 IBAction 选项,我可以通过编程方式...

【问题讨论】:

    标签: ios objective-c ios6 uitextview


    【解决方案1】:

    好吧,当有人在输入数据后触摸任何地方时,我可以说出一些有效的东西。 用这个方法

    -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        [super touchesBegan: touches withEvent:event];
        [[self textView]resignFirstResponder];
    }
    

    这里有一个链接,它可以帮助您使用委托来做同样的事情。

    UITextView hide keyboard in iphone

    【讨论】:

    • @Vinay Chopra 这不起作用,因为我没有使用 Xib。如果我使用添加选择器的东西,它说 UITextView/Field 不能使用它。 [Text_view addTarget:self action:@selector(ReturnAction:) forControlEvents:UIControlEventDidEndOnExit];
    • 我认为发生了一些错误,因为您设置了属性 textView.editable = NO;所以键盘不会出现,因为可能有一些作证或其他东西正在调用键盘而不是辞职。否则我已经测试过它的工作是否顺利。伙计提供了您页面的更多详细信息,以便我可以帮助您。
    • 好的,做一件事将所有文本字段和文本视图添加到上述方法 (touchesBegan) [[self myTexyField]resignFirstResponder];然后再试一次并告诉我?
    【解决方案2】:

    要在按下完成按钮时关闭键盘,请使用此

    - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
      if ([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
      }
      return YES;
    }
    

    【讨论】:

    • 试过这不起作用..我的文本视图是通过编程方式制作的。
    • 您是否将 UITextView 委托设置为 self.并在这个方法中保留断点来检查这个方法是否在调用???
    猜你喜欢
    • 2010-10-16
    • 2011-12-31
    • 2015-11-20
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2022-01-23
    相关资源
    最近更新 更多