首页 文章

第一个UITableViewCell的附属箭头没有显示

提问于
浏览
3

这是我正在努力的代码,第一个表格单元格没有显示附加箭头,但其他表格单元格工作正常......

下面是表格cell1的代码,其他单元格也是自定义但工作正常 .

- (void) initialization
{
    labelTitle = [[UILabel alloc] initWithFrame:CGRectZero];
    labelTitle.font = [UIFont fontForMoreLikeResultTitle];
    labelTitle.textColor = [UIColor blackColor];
    labelTitle.numberOfLines = 1;
    labelTitle.lineBreakMode = UILineBreakModeTailTruncation;
    labelTitle.backgroundColor = [UIColor clearColor];

    labelFulLAddress = [[UILabel alloc] initWithFrame:CGRectZero];
    labelFulLAddress.font =  [UIFont fontForMoreLikeResultDescription];
    labelFulLAddress.textColor = [UIColor blackColor];
    labelFulLAddress.numberOfLines = 1;
    labelFulLAddress.lineBreakMode = UILineBreakModeTailTruncation;
    labelFulLAddress.backgroundColor = [UIColor clearColor];

    [[self contentView] addSubview:labelTitle];
    [[self contentView] addSubview:labelFulLAddress];
}

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self)
    {
        // Initialization code
        [self initialization];
    }
    return self;
}

- (void) layoutSubviews
{
    float xOffset = 20.0f;
    float yOffset = 10.0f;
    float currentUsedHeight = yOffset; 

    labelTitle.text = documentTitle;
    labelTitle.frame = CGRectMake(xOffset, currentUsedHeight, 
                                  320.0f - 2 * xOffset, 60.0f);
    [labelTitle sizeToFitHeight];
    [labelTitle sizeToFitWidth];

    labelFulLAddress.text = @"99999 Bellevue Way NE, Bellevue WA";
    currentUsedHeight += (yOffset + labelTitle.frame.size.height);
    labelFulLAddress.frame = CGRectMake(xOffset, currentUsedHeight, 320.0f - 2 * xOffset, 60.0f);
    [labelFulLAddress sizeToFitHeight];
    [labelFulLAddress sizeToFitWidth];
}

下面是视图控制器中的代码:

- (UITableViewCell *) createResultTableCell1:(UITableView *)tableView
{
    static NSString *CellIdentifier = @"FirstMoreLikeResultCell";
    FirstResultTableCell *cell = (FristResultTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)
    {
        cell = [[MoreLikeTableCell1 alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }

    cell.documentTitle = self.documentTitle;

    return cell;
}

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

    if (indexPath.row == 0)
    {
        cell = [self createResultTableCell1:tableView];
    }
    else
    {
        cell = [self createResultTableCell2:tableView cellForRowAtIndexPath:indexPath];
    }

    return cell;
}

1 回答

  • 5

    overridden layoutSubviews 中调用 [super layoutSubviews] .

相关问题