我需要以编程方式编辑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
?
答案 0 :(得分:1)
我认为您应该创建2个UITableViewCell子类,其中包含2个不同的标识符,具体取决于您要显示的标识符(如果它们不同)。
您可以根据需要自定义每个子类中的框架,并且您可以更轻松地使用它