我正在尝试在textfield中设置图像,为此,我正在代码中创建图像视图,但是当我尝试通过CGRect(x:int,y:int,width:int,height调整其宽度和高度时, :int),则不会应用它,并且图像大小仍然是原始的。我看过太多关于将图像放置在文本字段中的教程,并且所有这些教程都在使用CGRect及其对它们的工作,因为图像的大小可以得到它们在CGRect中的应用,但对我而言不是。以下是我尝试使用的代码。图像也被附加。文本框样式为四舍五入(默认),图标大小为50px。
UIViewController
导入UIKit
类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
}
}
[此外,我尝试将图像资产中的“渲染为”更改为“模板”,但仍无法正常工作。
嘿,我尝试过以编程方式进行操作,并且对我有用。在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)
}
}