13

这是现象的视频:http: //youtu.be/c0TP8YVF9TE

如视频所示,exampleTextView.text 中的值不会丢失。它只是隐藏了所有其他按键。

尝试过的解决方案:我没有在程序期间将 exampleTextView.text 值设置为某个值,除非在按下返回键之后(并且注释掉该行不会改变任何内容)。

我已经设定:

self.exampleTextView.clearsOnBeginEditing=NO;
self.exampleTextView.clearsContextBeforeDrawing=NO;
self.exampleTextView.clearsOnInsertion=NO;

编辑:这是我的代码: https ://gist.github.com/andrewschreiber/6970283

4

6 回答 6

31

我遇到了几乎同样的问题。有时文字会消失。

我在 xib 文件的视图层次结构中更改 UITextField 的位置后解决了它。

在此处输入图像描述

于 2014-01-13T13:39:46.277 回答
11

我面临着同样的问题。我的解决方案是[_textField becomeFirstResponder]- (void)viewWillAppear:(BOOL)animated方法中删除。仅当视图控制器以模态方式呈现时才会出现此错误。

于 2014-01-29T08:49:10.737 回答
2

对于我的情况,将UITextField's becomeFirstResponderfromviewWillAppear移至解决此问题。viewWillLayoutSubviews我还确保添加resignFirstResponderUITextField关闭视图的操作(以模态方式呈现)。

于 2014-06-11T21:19:56.193 回答
0

尝试使用 UITextField 的所有 Delegate 方法。并且请让我知道您想对单击完成按钮做什么,只设置其他任何内容的文本,或者如果您与我分享所有代码,那么我可以帮助您

请用我的方法替换您的 textFieldShouldReturn 方法,并在您的代码中实现 textFieldShouldBeginEditing 方法并且它工作正常

 -(BOOL) textFieldShouldReturn:(UITextField *) textField {

          [textField resignFirstResponder];
    }


- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {


    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];


    [UIView commitAnimations];

    return YES;


}
于 2013-10-14T10:12:58.220 回答
0

解决了这个问题。

在我的故事板上,我将文本从“Plain”切换到“Attributed”,然后再次切换回“Plain”。

于 2013-10-15T21:20:46.230 回答
0

@SbClx 的解决方案对我有用,但我还有另一种解决方法也可以:将 UITextField 的背景设置为您喜欢的任何 UIImage 。

经过一些试验和错误,我发现当我将UITextField的borderStyle设置为UITextBorderStyleRoundedRect时,这个bug就消失了,不幸的是这不是我想要的,我想要一个简单的白色背景。

UITextField.borderStyle 的文档指出:如果该值设置为 UITextBorderStyleRoundedRect 样式,则与文本字段关联的自定义背景图像将被忽略。所以我猜背景图片也可能与这个错误有关。

于 2015-12-04T02:37:07.473 回答