无法使图像适合UITextField的边界内

用户名

我试图使图像缩小到UITextField的大小并将其自身定位在它的左侧,但是我只能做到这一点:

在此处输入图片说明

我究竟做错了什么?

以下是相关代码:

//MARK: - Add Left Image to UITextField

func addLeftImageTo(txtField: UITextField, image img: UIImage) {
    let leftImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
    leftImageView.image = img
    txtField.addSubview(leftImageView)
    txtField.leftView = leftImageView
    txtField.leftViewMode = .always
}

let image1 = UIImage(named: "stopwatch")

addLeftImageTo(txtField: timerTextField, image: image1!)

timerTextField.anchor(top: repsTextField.bottomAnchor, leading: view.safeAreaLayoutGuide.leadingAnchor, bottom: notesTextField.topAnchor, trailing: view.safeAreaLayoutGuide.trailingAnchor, padding: .init(top: 50.adjusted, left: 100.adjusted, bottom: 50.adjusted, right: 100.adjusted))
野俊公园

尝试将UIImageView包装在UIView中

您的代码:

func addLeftImageTo(txtField: UITextField, image img: UIImage) {
        let leftImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
        leftImageView.image = img
        txtField.addSubview(leftImageView)
        txtField.leftView = leftImageView
        txtField.leftViewMode = .always
    }

例:

func addLeftImageTo(txtField: UITextField, image img: UIImage) {
    let height = txtField.frame.size.height
    let wrapView = UIView(frame: CGRect(x: 0, y: 0, width: height, height: height))

    let leftImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: height, height: height))
    leftImageView.image = img
    leftImageView.contentMode = .scaleToFill
    wrapView.addSubview(leftImageView)

    txtField.addSubview(wrapView)
    txtField.leftView = wrapView
    txtField.leftViewMode = .always
}

另外,我添加了一些行,包括heightcontentMode以防万一。

希望对您有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章