我只想在这里添加更多内容:
如果要UITextField
在左侧添加图像,请使用的leftView
属性UITextField
注意: 不要忘了一套leftViewMode
以UITextFieldViewMode.Always
和为右rightViewMode
至UITextFieldViewMode.Always and
默认为UITextFieldViewModeNever
例如
用于在左侧添加图像
textField.leftViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.leftView = imageView
用于在右侧添加图像
textField.rightViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.rightView = imageView
注意:UITextField
在左侧或右侧添加图像时,需要注意一些事项。
不要忘了给帧的ImageView
哪一个是你要添加上UITextField
让imageView = UIImageView(frame:CGRect(x:0,y:0,width:20,height:20))
如果图像背景为白色,则图像在 UITextField
如果要将图像添加到特定位置,则需要将其添加ImageView
为的子视图UITextField
。
Swift 3.0更新
@Mark Moeykens精美地消耗了它并使它成为@IBDesignable。
我在其中修改并添加了其他功能(为正确的图像添加了底线和填充)。
注意:如果要在右侧添加图像,可以在界面生成器中选择Force Right-to-Left
选项semantic
(但是对于右侧图像填充,除非您重写rightViewRect方法,否则将不起作用)。
我已对此进行了修改,可以从此处下载源ImageTextField