最近在忙的專案中,需要處理富文本的相關內容,產品需求并不復雜,所以想著用TextKit處理,順便學習一下,沒想到直接掉坑,在此記錄一下(都是血淚史),順便為有需要的小伙伴提供參考,
// Add the image as an attachment. let textAttachment = NSTextAttachment() textAttachment.image = image textAttachment.bounds = CGRect(origin: CGPoint.zero, size: image.size) let textAttachmentString = NSMutableAttributedString(attributedString: NSAttributedString(attachment: textAttachment)
通過以上代碼可以實作在UITextView中添加image,通常我們添加從相冊或相機拍照中獲取的圖片很大,在UITextView中添加圖片會將圖片等比縮放,把縮放好的圖片給textAttachment.image,然后神奇的事情發生了,圖片是添加成功了,仔細一看被裁減掉了一部分,而且圖片也不清晰,
想著是不是自己的縮放方法寫的有問題,于是重新創建了一個專案,用UIImageView驗證完全沒問題,后來在stackoverflow上看到別人解答的另一個相關問題,得到了啟發,需要自己override attachmentBounds方法,根據需要設定布局范圍給布局管理器,
class MyAttachment: NSTextAttachment {
override func attachmentBounds(for textContainer: NSTextContainer?, proposedLineFragment lineFrag: CGRect, glyphPosition position: CGPoint, characterIndex charIndex: Int) -> CGRect {
//設定布局范圍
}
}
至此添加圖片顯示的坑終于填上了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/171285.html
標籤:其他
