进入编辑时,在自定义单元格上移动UILabel

时间:2013-06-25 17:59:52

标签: ios

我在uitableview单元格中添加了3个uilabels。我遇到的问题是当我滑动删除时,单元格右侧的UILabel不会移动,因此删除按钮和UILabel相互重叠。我在下面发布了一些代码。

我使用故事板开发了我的布局,所以从我正在阅读的内容来看,框架无济于事。

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    NSString *baseTableCellIdentifier = @"baseCell";


    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:baseTableCellIdentifier];

    BaseInfo *infoAtIndex = [[[DataClass getInstance] allItems] objectAtIndex:[indexPath row]];


    baseName = (UILabel *)[cell viewWithTag:1];

    baseICAO = (UILabel *)[cell viewWithTag:2];

    baseTime = (UILabel *)[cell viewWithTag:3];

    [cell.contentView addSubview:baseName];
    [cell.contentView addSubview:baseICAO];
    [cell.contentView addSubview:baseTime];

    [baseName setText:[infoAtIndex name]];
    [baseICAO setText:[infoAtIndex icao]];



    baseTimeZome = [NSTimeZone timeZoneWithName:[infoAtIndex timeZone]];
    [baseDate setDateFormat:@"HH:mm"];
    [baseDate setTimeZone:baseTimeZome];

    NSString *baseTimeString = [baseDate stringFromDate:[NSDate date]];
    [baseTime setFont:[UIFont boldSystemFontOfSize:20]];
    [baseTime setText:baseTimeString] ;


    return cell;
}


-(void)setEditing:(BOOL)editing animated:(BOOL)animated{

    if (editing) {

        //no idea what to put here

    }else{

    }



}

2 个答案:

答案 0 :(得分:1)

UITableViewCell子类覆盖setEditing:animated:中执行任何布局更改。正如评论者所说,您可能不需要为标签autoresizingMask设置正确的值。

答案 1 :(得分:0)

您应该创建一个单元子类。然后,您可以实施setEditing:animated:来修改子视图框架。