ここにもう少し追加したいだけです。
UITextField
左側に画像を追加したい場合leftView
は、UITextField
注: Doがセットに忘れず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
let 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