如何以编程方式编辑UITableViewCell帧位置

时间:2015-12-16 15:45:09

标签: objective-c

我需要以编程方式编辑UITableViewCell的位置,这是相关代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"leftMenuCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
    }


    if([[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"level"] intValue] == 1)
    {

        CGRect frame = cell.textLabel.frame;
        frame.origin.x= 30;
        cell.textLabel.frame= frame;
    }

    return cell;

}

使用断点我可以看到if条件有效,但编辑帧位置的代码什么都不做。是否可以像这样编辑位置,或者我必须继承UITableViewCell

1 个答案:

答案 0 :(得分:1)

我认为您应该创建2个UITableViewCell子类,其中包含2个不同的标识符,具体取决于您要显示的标识符(如果它们不同)。

您可以根据需要自定义每个子类中的框架,并且您可以更轻松地使用它