EEYatHo 앱 깎는 이야기

Swift ) AttributedString 에 이미지 넣기 - EEYatHo iOS 본문

iOS, Swift/Feature

Swift ) AttributedString 에 이미지 넣기 - EEYatHo iOS

EEYatHo 2022. 10. 11. 14:02
반응형

 

 

줄바꿈을 어떻게 구현해야할지 고려하지 않고 손쉽게 이미지를 텍스트 옆에 넣을 수 있다.

 

attributedString 에 이미지를 넣는 것이다.

 

 

구현 ( with extension )


 

extension NSMutableAttributedString {

    func appendImage(image: UIImage, bounds: CGRect) {
        let imageAttachment = NSTextAttachment()
        imageAttachment.image = image
        imageAttachment.bounds = bounds
        self.append(NSAttributedString(attachment: imageAttachment))
    }
    
    func insertImage(image: UIImage, bounds: CGRect, at: Int) {
        let imageAttachment = NSTextAttachment()
        imageAttachment.image = image
        imageAttachment.bounds = bounds
        self.insert(NSAttributedString(attachment: imageAttachment), at: at)
    }
    
}

* attributed 에는 다양한 요소가 들어갈 수 있기에, ( font, color, lineSpacing, lineBreakMode, aligment 등 )

모든 작업이 끝난 후 이미지를 마지막에 넣어주는 것이 바람직하다.

 

 

 

사용


let myAttributedString = NSMutableAttributedString(string: "myString")

if let image = UIImage(named: "myImageName") {
    let bounds = CGRect(x: 0, y: -3, width: 16, height: 16)
    saleAttr.appendImage(image: image, bounds: bounds)
}

 

Comments