【问题标题】:Why is my left view in text field not working?为什么我在文本字段中的左视图不起作用?
【发布时间】:2017-02-26 14:32:36
【问题描述】:

我使用下面的代码在我的文本字段中添加了一个左视图:

    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 上的下面这个问题中获取。这意味着我可以看到故事板中的图标,如下所示。然而,这并没有出现。

Swift add icon/image in UITextField

【问题讨论】:

  • 你能打开视图调试器并检查帧是否不为零吗?
  • @GoodSp33d 以前没用过,感觉像个菜鸟……帧数为零,请问是什么原因?
  • 已修复@GoodSp33d,感谢您的帮助
  • 太棒了!请自己写一个解决了它的答案,以便其他偶然发现这篇文章的人知道如何解决它。新秀只去 Pro:P
  • 你需要textField.leftViewMode = .always

标签: ios swift uitextfield textfield


【解决方案1】:

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

有两种解决方案。

  1. 告诉图像视图在分配图像后调整自己的大小。

    let usernameImageView = UIImageView()
    let usernameImage = UIImage(named: "user icon grey.png")
    usernameImageView.image = usernameImage
    usernameImageView.sizeToFit()
    
  2. 使用图像创建图像视图。这是更简单的方法。

    let usernameImage = UIImage(named: "user icon grey.png")
    let usernameImageView = UIImageView(image: usernameImage)
    

【讨论】:

    【解决方案2】:

    问题在于您的代码。现在使用此代码,您在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-05
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 2015-07-19
      相关资源
      最近更新 更多