在UITextfield中显示UIImage,试过但不起作用

时间:2017-08-31 14:45:36

标签: ios uiimageview uitextfield

我在我的项目中使用xcode8.3和Swift3。

我在故事板中有一个UITextField,我在相应的控制器类中创建了一个IBOutlet:

@IBOutlet weak var myTextField: UITextField!

我想在文本字段右侧显示一个小图片,我找到了solution here(尽管它在左侧显示图像)。

这就是我的尝试:

override func viewDidLoad() {
        super.viewDidLoad()

        let imageView = UIImageView();
        let image = UIImage(named: "my_icon");
        imageView.image = image;

        self.myTextField.rightView = imageView
        self.myTextField.rightViewMode = .always
  }

(在xcode Assets.xcassets 文件夹中我有 my_icon.png,my_icon @ 2x.png,my_icon @ 3x.png

当我在iPhone上运行代码时,我看不到my_icon显示在UITextField中的任何位置。我还尝试添加" .png"加载图片let image = UIImage(named: "my_icon.png");后缀,它也没有帮助。

为什么链接中的解决方案对我不起作用?

2 个答案:

答案 0 :(得分:1)

我有类似的问题,听起来很有趣,但它可能导致问题。我相信你的imageView的帧是0。

所以

    let imageView = UIImageView();
    let image = UIImage(named: "my_icon");
    imageView.image = image;
    imageView.frame = CGRect(x: 0, y: 0, width: imageView.intrinsicContentSize.width, height: imageView.intrinsicContentSize.height)
    self.myTextField.rightView = imageView
    self.myTextField.rightViewMode = .always

答案 1 :(得分:0)

设置框架:

  imageView.frame = CGRect(x: 0, y: 0, width: 20, height: 20)