【发布时间】:2012-04-08 08:18:42
【问题描述】:
这是我正在努力的代码,第一个表格单元格不显示辅助箭头,但其他表格单元格工作正常...
下面是表格单元格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 { 静态 NSString *CellIdentifier = @"FirstMoreLikeResultCell"; FirstResultTableCell *cell = (FristResultTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 如果(单元格 == 零) { 单元格 = [[MoreLikeTableCell1 alloc] initWithStyle:UITableViewCellStyleDefault 重用标识符:CellIdentifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; } 单元格.documentTitle = self.documentTitle; 返回单元格; } - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell; if (indexPath.row == 0) { 单元格 = [self createResultTableCell1:tableView]; } 别的 { 单元格 = [self createResultTableCell2:tableView cellForRowAtIndexPath:indexPath]; } 返回单元格; }【问题讨论】:
-
@MarkGranoff,非常感谢帮助我格式化我发布的混乱代码 :)
-
没问题。把它放在 标签之间。
-
您是否输入了此代码?这段代码写得不是很好......理想情况下,你不应该将一个“return”放在“if”中,另一个放在外面。
-
让我们看看你的 UITableViewCells 的代码。也许那里发生了什么?
-
@TommyG 是的,代码不干净,但我只是清理并更新了它。
标签: iphone objective-c ios uitableview