iOS7 UILabel 视觉故障

Posted

技术标签:

【中文标题】iOS7 UILabel 视觉故障【英文标题】:iOS7 UILabel visual glitch 【发布时间】:2013-09-20 10:00:33 【问题描述】:

我在重现 UITableViewController 中的视觉故障时遇到问题。实际上是 SensibleTableView 组件中的 SCTableViewController。

所以我在 -viewDidLoad: 中构造一个静态分组的 TableView。

- (void)viewDidLoad

    [super viewDidLoad];

    SCTableViewSection *sec = [SCTableViewSection sectionWithHeaderTitle:@"hdas"];

    SCLabelCell *c1 = [SCLabelCell cellWithText:@"dsan"];
    [sec addCell:c1];

    [[self tableViewModel] addSection:sec];

我看到的是标签右边缘有一个奇怪的细灰色边框。 (用红色三角标记)

我会从哪里删除这个栏?为什么会出现?

我尝试设置背景颜色、图层边框、图层阴影、textShadow 等。

【问题讨论】:

对我来说看起来像“在此处输入文本”光标 - 它不是 UITextField 而不是标签? 此视图中的任何地方都没有 UITextField :-( 当你把标签变宽时,条纹会向右移动吗? 是的。它似乎是附加在 UILabel 的框架上。 这也发生在我身上,当我尝试通过在 UITableViewCell 中设置视图的背景颜色来优化混合图层时。非常烦人,我还没有找到令人满意的解决方案。 【参考方案1】:

使用UILabel.backgroundColor,设置标签的backgroundColor 会引发这个问题。 您可以通过 UILabel.layer.backgroundColor 设置图层的背景颜色来修复此错误。

“将背景颜色设置为清晰已为我修复。”通过 Nuthinking。也可以修复这个错误。但在 tableView 中,这可能会稍微降低性能。

【讨论】:

这就是答案。不错。【参考方案2】:

将背景颜色设置为清晰固定。

【讨论】:

【参考方案3】:

将视图的 OPAQUE 属性设置为 YES 为我修复了它。

【讨论】:

以上是关于iOS7 UILabel 视觉故障的主要内容,如果未能解决你的问题,请参考以下文章

ios7自定义与uilabel中的nstextattachment交互

UILabel 圆角在 iOS 7.1 中变得清晰

UILabel.attributedText 不显示在 iPhone 4 + iOS 7.0.3

UIlabel layer.cornerRadius 在 iOS 7.1 中不起作用

UIlabel layer.cornerRadius在iOS 7.1中不起作用

如何以编程方式设置 UILabel 位置 iOS 7