我很难为leftView属性UITextField创建填充。我现在的代码为文本创建了填充,这是很好的,但我需要它用于imageView。
UITextField子类方法:
x paddingView框架的位置并没有像预期的那样将视图扩展到右边。
func setLeftView(imageView: UIImageView,withPadding填充物: CGFloat) { let高度= imageView.frame.height let width = imageView.frame.width +填充let paddingView =UIView(帧: CGRect(x: 36,y: 0,宽度:宽度,高度:高度) paddingView.addSubview(imageView) self.leftView = paddingView self.leftViewMode = .always }结果:

发布于 2017-11-30 06:16:28
您需要对您的函数进行更改,只需设置imageView框架,并将paddingView's X位置设置为
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
}发布于 2017-11-30 06:29:40
您必须重写:重写func leftViewRect(forBounds界: CGRect) -> CGRect
https://stackoverflow.com/questions/47566909
复制相似问题