我在为 UITextField
的 leftView
属性创建填充时遇到问题。我现在拥有的代码为文本创建了很好的填充,但我需要它用于 imageView。
UITextField子类方法:
请注意
paddingView
框架的x
位置没有像预期那样将 View 扩展到右侧。func setLeftView(imageView: UIImageView, withPadding padding: CGFloat) { let height = imageView.frame.height let width = imageView.frame.width + padding let paddingView = UIView(frame: CGRect(x: 36, y: 0, width: width, height: height)) paddingView.addSubview(imageView) self.leftView = paddingView self.leftViewMode = .always }
结果:
最佳答案
您需要更改您的功能,只需设置imageView
的框架并将paddingView 的
X 位置设置为0强>
func setLeftView(imageView: UIImageView, withPadding padding: CGFloat) {
let height = imageView.frame.height
let width = imageView.frame.width + padding
// Set x position to 0
let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: width, height: height))
/// You need to set frame of imageView so put this line
imageView.frame = CGRect(x: padding, y: 0, width: imageView.frame.width, height: height)
paddingView.addSubview(imageView)
self.leftView = paddingView
self.leftViewMode = .always
}
关于ios - UITextField 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47566909/