UITextView setTextColor更改UITableViewCell中的布局

时间:2012-05-24 03:46:16

标签: objective-c ios

我正在尝试使用以下页面中的解决方案: UITextView highlightedTextColor or similar option?

但是,我发现当我在UITextView上调用setTextColor并将颜色设置为Color blackColor以外的任何颜色时,UITextView中的内容显示为移位,而我设置的颜色不会占用。

玩,我可以通过在UITableViewCell中修改以下初始化代码来重复此行为:

_notesTextView = [[UITextView alloc] initWithFrame:CGRectZero];
[_notesTextView setFont:[UIFont systemFontOfSize:12.0]];
[_notesTextView setTextColor:[UIColor redColor]];
[_notesTextView setUserInteractionEnabled:NO];
[self.contentView addSubview:_notesTextView];

上面的代码将导致textView显示偏离我的预期,与我保留颜色默认值或设置为blackColor相比,文本也不显示为红色。

这太奇怪了 - 任何想法可能出错?

2 个答案:

答案 0 :(得分:1)

不要使用CGRectZero,因为它根据情况将帧启动到您可能知道的某个值,因此如果您创建了自定义UITableViewCell,那么只需在init中设置帧或

-(void)layoutSubViews
{

}

答案 1 :(得分:0)

我已经确认textColor确实改变了文本位置(对我来说是上下)。我也尝试过使用initWithFrame(50,20,250,31),但仍遇到同样的问题。

我发现修复此问题的方法是使用属性textAlignment并将其设置为以下值之一:UITextAlignmentCenter,UITextAlignmentLeft,UITextAlignmentRight。