我在我的项目中使用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");
后缀,它也没有帮助。
为什么链接中的解决方案对我不起作用?
答案 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)