settext to uitextview app crash - ios sdk

时间:2014-11-01 10:43:51

标签: ios iphone uitextview settext uitextviewdelegate

我已经以编程方式创建了UITextView,textview是根据需要创建的,但是当我尝试使用标记应用程序崩溃为textview设置值时。

我可以毫无问题地设置其他参数,例如setUserInteractionEnabled

按照它的代码..

创建textview

UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(0,0,100,200)];
    textView.font = [UIFont systemFontOfSize:30];
    //textView.font = [UIFont boldSystemFontOfSize:12];
    textView.backgroundColor = [UIColor grayColor];
    textView.tag=i;
    [textView setTextAlignment:NSTextAlignmentCenter];
    textView.text=[NSString stringWithFormat:@"%d",i];
    textView.inputView= [LNNumberpad defaultLNNumberpad];
    textView.editable = YES;
    [textView setDelegate:self];
    [self.view addSubview:textView];

使用标记..更改textview中的值。

UITextView *txtviewfound = (UITextView *)[self.view viewWithTag:j];
            [txtviewfound setText:@"some text"];
            [txtviewfound setUserInteractionEnabled:FALSE];

当我评论settext时它工作正常。

如果我遗失任何内容,请告诉我。

提前致谢

2 个答案:

答案 0 :(得分:1)

  

在进行类型转换之前,您需要检查天气子视图属于哪个   textView与否,因为默认情况下每个对象都有0作为标记   如果您在视图中有任何其他对象,则它会创建   问题

if([[self.view viewWithTag:i]isKindOfClass:[UITextView class]])
{
            UITextView *txtviewfound = (UITextView *)[self.view viewWithTag:j];
            [txtviewfound setText:@"some text"];
            [txtviewfound setUserInteractionEnabled:NO];

}

答案 1 :(得分:0)

崩溃日志说的是什么?如果绑定可能的索引? 另外,为了确保 - 不要设置标签的数字真的很低,比如1到5,它们可能很少但仍然已被苹果公司采用。