我在子類中創建了UIlablel
的文本中的圖像。 UIlablel
的文本設置爲awakeFromNib
,並且每次應用啓動時都會有所不同。由於我認爲幀大小,圖像捕獲整個UIlablel
的文本的唯一地方是layoutSubviews
- >。請注意,在我的代碼中,我依靠標籤父視圖上的bounds
。問題是layoutSubviews
被多次調用,所以這個圖像可能被創建多次。我試圖捕獲didMoveToWindow
和其他地方的圖像,但僅捕獲UIlablel
文本的一部分。這是製作圖像的代碼:任何想法?從文本中創建圖像(大小不正確)
func createImage(withText text: NSAttributedString, inParent parent: UIView) -> UIImage {
UIGraphicsBeginImageContextWithOptions(frame.size, false, 0)
text.draw(in: parent.bounds)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
你能檢查parent.bounds和frame的大小和來源嗎? –
一次保存來自UILabel的文本,然後每次layoutSubview調用時重繪UIImage。 –