0

我在uiview 上添加了一个textview。当我尝试将数据输入其中时,它不会显示。

按照我的代码

questionView1 = [[UIView alloc]initWithFrame:CGRectMake(30, 40, 260, 350)];
[questionView1 setBackgroundColor:[UIColor blackColor]];
quesText1 = [[UITextView alloc] initWithFrame:CGRectMake(10, 20, 240, 270)];
quesText1.layer.borderWidth = 10.0f;
[quesText1 setText:@"Everything Ok"];
quesText1.layer.borderColor = [[UIColor grayColor] CGColor];
quesText1.tag = 100;
quesText1.delegate = self;
[questionView1 addSubview:quesText1];

它显示默认文本但试图通过键盘输入数据然后它不显示。

但是,当我签入它的委托(如下)时,它会打印正确的值

- (void)textViewDidEndEditing:(UITextView *)textView;{
    NSLog(@"%@",textView.text);\\ print correct value but value not showing in        uitextview area.
}

不知道它是如何发生的以及为什么会发生..有人知道吗?

4

3 回答 3

1

要尝试的事情

  1. 您的背景颜色为黑色,默认情况下文本颜色为黑色。因此将文本颜色设置为白色
  2. 问题可能是设置边框以使其覆盖默认文本
于 2013-04-24T12:09:56.913 回答
1

一旦检查这个,

UIView*   questionView1 = [[UIView alloc]initWithFrame:CGRectMake(30, 40, 260, 350)];
    [questionView1 setBackgroundColor:[UIColor blackColor]];
   UITextView* quesText1 = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 240, 270)];
    quesText1.contentInset = UIEdgeInsetsMake(20.0, 0.0, 20.0, 0.0);
    quesText1.layer.borderWidth = 10.0f;
    quesText1.contentMode=UIViewContentModeCenter;
    [quesText1 setText:@"Everything Ok"];
    quesText1.layer.borderColor = [[UIColor grayColor] CGColor];
    quesText1.tag = 100;
    quesText1.delegate = self;
    [questionView1 addSubview:quesText1];
    [self.view addSubview:questionView1];
    questionView1.userInteractionEnabled=YES;  

在你的代码中设置这一行

    quesText1.contentInset = UIEdgeInsetsMake(20.0, 0.0, 20.0, 0.0);
于 2013-04-24T12:00:43.217 回答
0

请试试这个...

步骤1:

[self.view addSubView:questionView1];

第2步:

在您的 .h 文件中采用协议'UITextViewDelegate',并输入以下代码

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{

    if ([text isEqualToString:@"\n"]) {

        [textView resignFirstResponder];

    }
        return YES;
}
于 2013-04-24T12:06:32.050 回答