2012-03-23 66 views
0

这里是我用的第一个表格单元格犯规显示附属箭头挣扎的代码,但其他表格单元做工精细...第一的UITableViewCell的附带箭头没有显示

下面是桌子小区1码,其他细胞也是定制的,但工作正常。

- (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; 
} 

+0

@MarkGranoff,非常感谢帮助我格式化我发布的凌乱代码:) – trillions 2012-03-23 18:55:39

+0

没问题。只需将它放在

标签之间即可。 –
                        
                            
                                2012-03-23 18:59:46
                            
                        
                    

+0

你是否输入了这段代码?这个代码不是以这样一种好的方式写的......理想情况下,你不应该在“if”和另一个“外部”中放置一个“返回”。 – TommyG 2012-03-23 19:07:27

回答

1

电话[超级layoutSubviews]从你的重写layoutSubviews内。

+0

上帝,你救了我!这正是我错过的!非常感谢!!^____ ^ – trillions 2012-03-23 22:07:37