我在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;
}
答案 0 :(得分: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"];
希望这会有所帮助。
答案 1 :(得分:1)
您是否检查过detailTextLabel
的长度是否与框架一样大?如果框架的大小足以完全适合文本,那么UITextAlignmentRight
可能看起来不起作用。
答案 2 :(得分:0)
尝试实施tableView:willDisplayCell:forRowAtIndexPath:
委托方法并将重新对齐代码放在那里!