UILabel上叠加了两个文本内容

时间:2017-06-22 07:52:28

标签: ios

我有一个标签,它是普通UIView的子视图,而不是UITableView / UITableViewCell,依赖于生成的事件,标签将设置相应的字符串。但有时候,在为标签设置新的字符串值之后,旧的字符串仍然存在,它会使两个字符串相互叠加。由于它很少发生,我不知道如何实现它,并且我找到的解决方案是否可以修复它。

以下是设置文字的代码:

messageLabel.text = message

有没有人知道标签会发生什么?也许标签不会更新它的布局。结果如下:

enter image description here

我确实检查了Debugging View Hierarchies并且只有一个带有覆盖文本的标签对象。 设置文本值的代码:

func didGenerateEvent(event: AnyObject) {
    if let event = event as? Event {
        switch event.type {
        case .one:
            setContent("This is message of event one.")
        case .two:
            setContent("This is message of event two, but longer.")
        }
    }
}

func setContent(message: String) {
    messageLabel.text = message
}

1 个答案:

答案 0 :(得分:0)

确保"清除图形上下文"复选框已启用。或者在代码中设置clearsContextBeforeDrawing。