ios - UITextField 填充

标签 ios swift uitextfield alignment padding

我在为 UITextFieldleftView 属性创建填充时遇到问题。我现在拥有的代码为文本创建了很好的填充,但我需要它用于 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
    }
    

结果:

enter image description here

最佳答案

您需要更改您的功能,只需设置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/

相关文章:

ios - 在 iOS 的 tableview 中动态搜索

cursor - 禁用UITextField中闪烁的光标?

ios - xcode 6.0 beta 版开发及苹果审批

iphone - iOS从NSString中删除前N个单词

ios - Collection View 单元格未出现

ios - 在后台运行的 swift WatchConnectivity - ApplicationContext 并非一直运行

iphone - 限制用户输入字符,并在ios中将每个输入的字母转换为大写字母

ios - Storyboard View 树中的不可见 subview

ios - 带有 AutoLayout 的 UICollectionViewCell 在 iOS 10 中不起作用

ios - 了解 Crashlytics 错误日志