繁体   English   中英

UITextView setTextColor更改UITableViewCell中的布局

[英]UITextView setTextColor changes layout in UITableViewCell

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

但是,我发现,当我在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显示与我期望值的偏移,并且文本也不显示为红色。

这太奇怪了-知道有什么问题吗?

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

-(void)layoutSubViews
{

}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM