我制作了一个自定义单元格,我想更改contentView的框架。我的手机是CustomCell。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"hey");
static NSString *CellIdentifier = @"CustomCellReuseID";
AbcCustomCell *cell = [tabel_Abc dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[AbcCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSString *name= [arrayTabel_Abc objectAtIndex:indexPath.section];
[cell setBackgroundColor:[UIColor clearColor]];
[cell.label_CellList setText:name];
cell.contentView.frame = CGRectMake (100,0,500,20);
return cell;
}
我有用 cell.contentView.frame = CGRectMake(100,0,500,20); 但它不适合我。我想更改customCell的contentView,任何人都可以指导我吗?提前谢谢。
答案 0 :(得分:1)
您无法更改contentView。 UITableViewCell contentView的高度由– tableView:heightForRowAtIndexPath:
委托方法确定,其宽度通常是tableView的宽度。
如果您可以将视图添加为contentView的子视图并更改视图的框架。
答案 1 :(得分:0)
您需要为单元格的contentView重新分配帧。
CGRect oldFrame = cell.contentView.frame;
cell.contentView.frame = CGRectMake( oldFrame.origin.x,
oldFrame.origin.y,
oldFrame.size.width + 20,
oldFrame.size.height );
或者您可以使用自定义单元格
答案 2 :(得分:0)
您无法更改单元格的contentView框架。您可以使用
更改单元格的高度tableView:heightForRowAtIndexPath:
但你无法改变宽度。
如果你想要分割器很大,你可以使用一个视图,如果你想要这样的话。
UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.contentView.frame.size.width - paddingX*2, 1)];
separatorLineView.backgroundColor = [UIColor redColor];
[cell.contentView addSubview:separatorLineView];
您是否可以更具体地了解要更改的帧(是否超出范围)?