Swift UITextField图标位置

Swift UITextField icon position

我正在尝试设置自定义 UITextField 图标的位置。但是当我改变 imageView 的框架的 x 和 y 值时,它仍然把它们放在左上角。

这是我自定义的 viewWillAppear 方法 UITextField class:

var imageView = UIImageView();
var image = UIImage(named: "user-icon.png");
imageView.image = image;
imageView.frame = CGRectMake(100, 0, 20, 19);
usernameTextField.leftView = imageView;
usernameTextField.leftViewMode = UITextFieldViewMode.Always

更改 CGRectMake 调用中的 x 和 y 参数没有任何作用。

有什么想法吗?我读到这可能是由元素的 AutoLayout 功能引起的。但是,如果我在 StoryBoard 中删除它,那么 XCode 会警告我该应用程序在多个设备上看起来不太好...

实际上您正在将 UIImageView 设置为 UITextFieldleftView。所以它总是出现在左侧。如果你想 UIImageView 到右侧,那么有 rightView 选项。如果您想将 UIImageView 添加到您的特定位置,那么我建议您 add as subview 而不是将其分配给 leftViewrightView.

希望对您有所帮助。