我已经定义了我在静态UITableViewCell
中使用的自定义UITableView
。我想访问我定义的变量(myTableViewImageCell
等),但是从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)];
}
答案 0 :(得分: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 :(得分:0)
仅供参考,问题是外来的;细胞;你有第二行的结尾。将其更改为
- (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]];
}