2017-06-22 39 views
0

我有一個正常的子視圖UIView,而不是在UITableView/UITableViewCell,取決於生成的事件,標籤將設置一個相應的字符串。但有時,在爲標籤設置新的字符串值之後,舊的字符串仍然存在,這會使兩個字符串彼此重疊。由於它很少發生,我不能說如何實現它,並且我找到的解決方案是否可以解決它。兩個文本內容覆蓋在UILabel上

這裏是設置文本代碼:

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 
} 
+0

您是如何創建標籤的?它是一個UITableView?在設置其文本之前,請執行NSLog(@「messageLabel:%@」,messageLabel)'。我的猜測是這是一個全新的對象。您可以使用https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html進行驗證。 – Larme

+0

我希望你不是在'Tablecell'上增加'UILable' Programetically# – Dhiru

+0

請發表一些代碼,以便我們可以看到你在做什麼錯誤 – Dhiru

回答

0

確保「清除圖形上下文」複選框被啓用。或者在代碼中設置clearsContextBeforeDrawing。

+0

它已經啓用。 – Lucy