我已使用以下代码在文本字段中添加了左视图:
usernameField.leftViewMode = UITextFieldViewMode.always
passwordField.leftViewMode = UITextFieldViewMode.always
let usernameImageView = UIImageView()
let usernameImage = UIImage(named: "user icon grey.png")
usernameImageView.image = usernameImage
usernameField.leftView = usernameImageView
let passwordImageView = UIImageView()
let passwordImage = UIImage(named: "lock icon grey.png")
passwordImageView.image = passwordImage
passwordField.leftView = passwordImageView
这没有用,我接着在StackOverflow上添加了一个UIDesignable,这是一个非常简洁的过程。这意味着我可以在故事板中看到图标,如下所示。但是,这并没有显示出来。
答案 0 :(得分:4)
问题在于如何创建图像视图。首先创建一个空图像视图,然后没有大小。然后,您将图像分配给图像视图,但这不会自动调整图像视图的大小。
有两种解决方案。
分配图像后,告诉图像视图调整自身大小。
let usernameImageView = UIImageView()
let usernameImage = UIImage(named: "user icon grey.png")
usernameImageView.image = usernameImage
usernameImageView.sizeToFit()
使用图像创建图像视图。这是一种更简单的方法。
let usernameImage = UIImage(named: "user icon grey.png")
let usernameImageView = UIImageView(image: usernameImage)
答案 1 :(得分:1)
问题在于您的代码。现在使用此代码,您在textField中的左视图正在运行。
@IBOutlet weak var name: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
usernameField.leftViewMode = .always
let usernameImageView = UIImageView()
usernameImageView.frame = CGRect(x: 0, y: 0, width: 25, height: 25)
let usernameImage = (your image name)
usernameImageView.image = usernameImage
usernameField.leftView = usernameImageView