在文本字段中放置图像时 CGRect 函数不起作用

CGRect function is not working while placing image in textfield

我正在尝试在文本字段中设置图像,为此我正在代码中创建一个图像视图,但是当我试图通过 CGRect(x:int, y:int, 调整它的宽度和高度时width:int, height:int) ,它没有被应用并且图像大小仍然是原始的。我看过很多关于将图像放在文本字段中的教程,并且所有教程都在使用 CGRect 并为他们工作,因为图像的大小得到了他们在 CGRect 中应用的内容,但对我来说不是。以下是我尝试使用的代码。图片也附上。文本字段样式为圆形(默认),图标大小为 50 像素。

UIViewController

导入 UIKit

class ViewController: UIViewController {

@IBOutlet weak var email: UITextField!
override func viewDidLoad() {
    super.viewDidLoad()
    update()
    // Do any additional setup after loading the view.
}

func update() {
    email.leftViewMode = .always
    let imageview = UIImageView()
    let image = UIImage(named: "icon")
    imageview.image = image
    imageview.frame = CGRect(x: 15, y: 0, width: 50 , height: 50)
    email.leftView = imageview
}

}

此外,我已经尝试将图像资源中的 'Render as' 更改为 'template',但仍然无法正常工作。

嘿,我试过以编程方式进行,它对我有用。在 iPad 个操场上快速起草。试试这个:

class Test: UIViewController {

let lable = UITextField()
let image = UIImage()

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.backgroundColor = .white
    lable.frame = CGRect(x: 200, y: 200, width: 300 , height: 50)
    lable.backgroundColor = .black
    update()
    self.view.addSubview(lable)
}

func update() {
    lable.leftViewMode = .always
    let imageview = UIImageView()
    let image = UIImage(systemName: "icloud")
    imageview.image = image
    imageview.frame = CGRect(x: 15, y: 0, width: 50 , height: 50)
    lable.leftView = imageview
    self.view.addSubview(imageview)
}

}