1

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

我可以setUserInteractionEnabled毫无问题地设置其他参数。

按照它的代码..

创建文本视图

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];

使用标签更改文本视图中的值..

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

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

如果我缺少任何东西,请告诉我。

提前致谢

4

2 回答 2

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];

}
于 2014-11-01T10:52:19.900 回答
0

崩溃日志是怎么说的?如果绑定可能会出现索引?还要确定的是 - 不要设置像 1 到 5 这样的非常低数字的标签,它们可能很少但仍然被 Apple 采用。

于 2014-11-01T10:56:48.597 回答