我正在尝试使用以下页面中的解决方案: 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相比,文本也不显示为红色。
这太奇怪了 - 任何想法可能出错?
答案 0 :(得分:1)
不要使用CGRectZero,因为它根据情况将帧启动到您可能知道的某个值,因此如果您创建了自定义UITableViewCell,那么只需在init中设置帧或
-(void)layoutSubViews
{
}
答案 1 :(得分:0)
我已经确认textColor确实改变了文本位置(对我来说是上下)。我也尝试过使用initWithFrame(50,20,250,31),但仍遇到同样的问题。
我发现修复此问题的方法是使用属性textAlignment并将其设置为以下值之一:UITextAlignmentCenter,UITextAlignmentLeft,UITextAlignmentRight。