UITableView中的删除确认按钮与内容重叠

时间:2011-03-28 15:37:27

标签: iphone

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

    static NSString *LogCellId = @"LogCellId";
    UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:LogCellId];

    UILabel *lblSummary;

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:LogCellId] autorelease];   
        lblSummary = [[[UILabel alloc] initWithFrame:CGRectMake(10.0, 10.0, 320.0, 30.0)] autorelease];
        lblSummary.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];
        lblSummary.tag = SUMMARY_TAG;
        lblSummary.lineBreakMode = UILineBreakModeTailTruncation;
        lblSummary.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;

        [cell.contentView addSubview:lblSummary];
    } else {
        lblSummary = (UILabel *)[cell viewWithTag:SUMMARY_TAG];
    }

    lblSummary.text = [self.logList objectAtIndex:[indexPath row]];

    return cell;
}

我所拥有的只是一个带有一个标签的简单单元格。我添加了滑动删除功能,但删除按钮与标签重叠,而不是将其推到一边。

所以我需要帮助。我希望得到一个关于如何做这个以及自动调整掩码如何工作的答案。我对它们感到不舒服,无论何时何地都不应该使用自动调整子视图。

感谢您的时间。

1 个答案:

答案 0 :(得分:6)

尝试将不同的掩码与C按位OR运算符组合使用:|。试验不同的面具,这可能有效:

lblSummary.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin;

当需要调整UIView的大小时,会使用自动调整掩码。例如,使用UIViewAutoresizingFlexibleLeftMargin,您可以告诉视图您希望它从左边距扩展或缩小,但不会重新定位边距。

你可以在IB中设置UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin

IB http://i56.tinypic.com/2dqsux3.png