首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextField填充

UITextField填充
EN

Stack Overflow用户
提问于 2017-11-30 06:09:21
回答 2查看 160关注 0票数 3

我很难为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 }

结果:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-30 06:16:28

您需要对您的函数进行更改,只需设置imageView框架,并将paddingView's X位置设置为

代码语言:javascript
复制
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
}
票数 3
EN

Stack Overflow用户

发布于 2017-11-30 06:29:40

您必须重写:重写func leftViewRect(forBounds界: CGRect) -> CGRect

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47566909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档