我使用以下代码在文本字段中添加了左视图:

    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

这没有用,然后我添加了一个UIDesignable,这是一个非常简洁的过程,我从下面的StackOverflow这个问题中获取了该过程。这意味着我可以在情节提要中看到这些图标,如下所示。但是,这不会出现。 ios - 为什么我在文本字段中的左 View 不起作用?-LMLPHP ios - 为什么我在文本字段中的左 View 不起作用?-LMLPHP

Swift add icon/image in UITextField

最佳答案

问题在于如何创建图像视图。您首先创建一个空的图像视图,然后没有尺寸。然后,您将图像分配给图像视图,但这不会自动调整图像视图的大小。

有两种解决方案。

  • 分配图像后,告诉图像视图调整自身大小。
    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)
    
  • 关于ios - 为什么我在文本字段中的左 View 不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42469765/

    10-11 19:48