0

tableViewに通常のセルがあり、テキストを右に揃えたい場合は、次を使用します。

if (cell == nil) {
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];        
     cell.textLabel.textAlignment = UITextAlignmentRight;           
}

UITableViewCellしかし、今はを表示に使用したいのですが、detailTextLabelもう一度右に揃えようとしましたが、何も起こりません。

if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.textLabel.textAlignment = UITextAlignmentRight;
    cell.detailTextLabel.textAlignment = UITextAlignmentRight;    
}
4

4 に答える 4

3

UILabelセルをカスタマイズする場合は、独自のサブビューをセルに追加します。

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.textAlignment = UITextAlignmentRight;
UILabel *subLabel = [UILabel alloc] initWithFrame:CGRectMake(x,y,w,h)]; //put in the frame variables you desire
subLabel.textAlignment = UITextAlignmentRight;
subLabel.tag = 20;
subLabel.text = @"my text";
[cell.contentView addSubview:subLabel];
[subLabel release]; //dont call this if you are using ARC

..。

その後、後でラベルにアクセスします。

[[cell.contentView viewWithTag:20] setText:@"new text"];

お役に立てれば。

于 2012-08-30T18:55:46.600 に答える
1

あなたの長さがdetailTextLabelそのフレームほど大きくないかどうか確認しましたか? フレームがテキストを正確に収めるのに十分な大きさである場合、機能していないように見える場合がありますUITextAlignmentRight

于 2012-08-30T18:25:01.567 に答える
0

デリゲートメソッドを実装して、tableView:willDisplayCell:forRowAtIndexPath:そこに再調整コードを配置してみてください。

于 2012-08-30T17:38:58.617 に答える