0

我正在尝试使用以下页面上的解决方案: UITextView highlightTextColor 或类似选项?

但是,我发现当我在 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];

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

这太奇怪了 - 知道可能出了什么问题吗?

4

2 回答 2

1

不要使用 CGRectZero,因为它会根据情况将帧初始化为您可能知道的某个值,因此如果您创建了自定义 UITableViewCell 然后只需在 init 或

-(void)layoutSubViews
{

}
于 2012-05-24T04:13:27.007 回答
0

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

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

于 2012-05-24T04:20:14.030 回答