0

UITableView「RightDetail」スタイルを使用したwithダイナミックセルを使用しています。しかし、textLabel幅が広い場合、彼はを非表示にしdetailLabelます。

サイズを変更しようとしましたtextLabelが、サイズを変更できないようです。UITableViewCellサブクラス化を避けたり、自分でクラスを追加したりしながら、それを行う方法はありUILabelますか?

4

2 に答える 2

1

セルにカスタムラベルを追加します。それでも問題が発生する場合は、セルの高さを増やします。

これが私のコードです-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString * CellIdentifier = @ "Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
cell.textLabel.textColor=[UIColor blackColor];
cell.backgroundColor=[UIColor clearColor];  
NSDictionary *dict=[dataArray objectAtIndex:indexPath.row];
NSString *strName=[dict objectForKey:@"name"];
NSString *strType = [dict objectForKey:@"type"];
cell.selectionStyle = NO;
cell.textLabel.numberOfLines=1;
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
UILabel *lbl =[[UILabel alloc]init];
lbl.frame=CGRectMake(115,8,220,40);
lbl.text=strName;
lbl.textColor = [UIColor colorWithRed:74/255.0f green:64/255.0f blue:34/255.0f alpha:1.0];
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    lbl.font = [UIFont boldSystemFontOfSize:17];
}
else
{
    lbl.font = [UIFont boldSystemFontOfSize:15];
}
lbl.baselineAdjustment=UIBaselineAdjustmentAlignCenters;
lbl.numberOfLines=1;
lbl.backgroundColor=[UIColor clearColor];

UILabel *lbl1 =[[UILabel alloc]init];
lbl1.frame=CGRectMake(115,35,220,40);
lbl1.text=strType;
lbl1.textColor = [UIColor colorWithRed:74/255.0f green:64/255.0f blue:34/255.0f alpha:1.0];
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    lbl1.font = [UIFont boldSystemFontOfSize:17];
}
else
{
    lbl1.font = [UIFont boldSystemFontOfSize:15];
}
lbl1.baselineAdjustment=UIBaselineAdjustmentAlignCenters;
lbl1.numberOfLines=1;
lbl1.backgroundColor=[UIColor clearColor];


[[cell contentView] addSubview:lbl];
[[cell contentView] addSubview:lbl1];
return cell;

[cell release];
[CellIdentifier release];
[lbl release];

}

于 2012-07-18T06:40:35.593 に答える
0

UILabelフレームを変更することで、のサイズを変更できるはずです。または、プロパティを使用しadjustsFontSizeToFitWidthます。ドキュメントを参照してください:UILabelドキュメント

于 2012-07-17T14:16:13.777 に答える