1

UITableViewCellstatic で使用しているカスタムを定義しましたUITableViewmyTableViewImageCell定義した変数 (など)にアクセスしたいのですがtableView:willDisplayCell、「セル型の再定義.

これが私がやっていることです:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    [cell.myTableViewLabel setShadowColor:[UIColor whiteColor]];
    [cell.myTableViewLabel setShadowOffset:CGSizeMake(0.0f, 1.0f)];   


}
4

2 に答える 2

2

すべてのセルが同じカスタムクラスである場合は、メソッドの定義を変更してそれを示し、最初の行を削除することができます(とにかく間違っています)。

- (void)tableView:(UITableView *)tableView willDisplayCell:(ANMyTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    [cell.myTableViewLabel setShadowColor:[UIColor whiteColor]];
    [cell.myTableViewLabel setShadowOffset:CGSizeMake(0.0f, 1.0f)];
    [cell.myTableViewLabel setTextColor:[UIColor hex666Color]];      
}

ただし、 (ここに示すように)すべてのセルに対して同じことを行う場合は、のcellForRowAtIndexPath:代わりにこれを行う必要があることに注意してくださいwillDisplayCell:。このように、コードは、セルが表示されるたびにではなく、セルが作成されたときに1回だけ実行されます。

于 2012-11-12T04:00:19.043 に答える
0

参考までに、問題は無関係な;セル;です。2行目の終わりにあります。に変更します

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    ANMyTableViewCell *cell = (ANMyTableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    [cell.myTableViewLabel setShadowColor:[UIColor whiteColor]];
    [cell.myTableViewLabel setShadowOffset:CGSizeMake(0.0f, 1.0f)];
    [cell.myTableViewLabel setTextColor:[UIColor hex666Color]];      
}
于 2012-11-12T04:03:00.843 に答える