UITextView左图图标swift

V D*_*hit 1 image uitextview ios swift

如何在UITextView中设置左图像?

填充,因为它不能相互重叠图像和文本.

这不是UItextField,使用"UITextView"代替"UItextField"UItextField,它提供了内置的leftview和rightview,它们在"UITextView"中不存在

class CustomTextView:UITextView{

    /// A UIImage value that set LeftImage to the UITextView
    @IBInspectable open var leftImage:UIImage? {
         didSet {
            if (leftImage != nil) {
               self.leftImage(leftImage!)
            }
        }
    }

fileprivate func leftImage(_ image: UIImage) {
    let icn : UIImage = image
    let imageView = UIImageView(image: icn)
    imageView.frame = CGRect(x: 0, y: 2.0, width: icn.size.width + 20, height: icn.size.height)
    imageView.contentMode = UIViewContentMode.center

}
Run Code Online (Sandbox Code Playgroud)

我希望你明白我应该需要什么.

V D*_*hit 8

这是制作自定义UITextView的代码片段:

//MARK:- CustomTextView
class CustomTextView:UITextView{

    /// A UIImage value that set LeftImage to the UITextView
    @IBInspectable open var leftImage:UIImage? {
        didSet {
            if (leftImage != nil) {
                self.applyLeftImage(leftImage!)
            }
        }
    }


fileprivate func applyLeftImage(_ image: UIImage) {
        let icn : UIImage = image
        let imageView = UIImageView(image: icn)
        imageView.frame = CGRect(x: 0, y: 2.0, width: icn.size.width + 20, height: icn.size.height)
        imageView.contentMode = UIViewContentMode.center
        //Where self = UItextView
        self.addSubview(imageView)
        self.textContainerInset = UIEdgeInsets(top: 2.0, left: icn.size.width + 10.0 , bottom: 2.0, right: 2.0)
    }
}
Run Code Online (Sandbox Code Playgroud)

编写此代码后,在Storyboard中选择UITextView并给出类"CustomTextView"的名称.现在转到属性检查器将图像设置为左图像.

谢谢,