我的目标是定义我自己的细胞样式,背景,字体和大小。我试试这个。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ScreenListElements *currentScreenElement = [self.screenDefBuild.elementsToTableView objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:currentScreenElement.objectName];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:currentScreenElement.objectName];
}
cell.textLabel.text = currentScreenElement.objectName;
return cell;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.contentView.backgroundColor = [UIColor blackColor];
}
我想更改单元格背景,但我的应用程序不会进入willDisplayCell方法。我宣布我的班级为:
@interface MyTableView : UIViewController <UITableViewDataSource,NSCopying> {
}
我还有别的吗?或许是一种更好的方式来宣告自己的细胞风格。
答案 0 :(得分:5)
@interface MyTableView : UIViewController <UITableViewDataSource, UITableViewDelegate ,NSCopying> {
}
方法
tableView:willDisplayCell:forRowAtIndexPath
是UITableView
已编辑(使其正确并接受答案)
设置委托
[myTableView setDelegate:self];
答案 1 :(得分:0)
好的,我看到,你没有实现“UITableViewDelegate”协议,只有dataSource ... 所以它肯定不会输入委托方法。
确保它是这样的:
@interface MyTableView : UIViewController <UITableViewDataSource, UITableViewDelegate ,NSCopying> {
}
答案 2 :(得分:0)
检查UITableviewCell
代表协议:
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath{
cell.contentView.backgroundColor = [UIColor blackColor];
}