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 に答える