如何在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
}
我希望你明白我需要什么。
答案 0 :(得分: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)
}
}
编写此代码后,在Storyboard中选择UITextView,并给出类“CustomTextView”的名称。现在转到属性检查器将图像设置为左图。
谢谢,