美文网首页
iOS14.0+解决UITextField 中 leftView

iOS14.0+解决UITextField 中 leftView

作者: WMSmile | 来源:发表于2021-07-12 14:45 被阅读0次

iOS14.0+解决UITextField 中 leftView和rightView设置控件宽高无效的问题


iOS14.0+ UITextField 中 leftView和rightView设置UILabel、UIButton、UIImageView等控件的宽高无效

问题现象

小于iOS14.0,UILabel、UIButton、UIImageView等控件设置宽高有效,iOS14.0+,设置宽高无效,解决方案同下即可。

解决方案:

1、创建UIView的父视图,然后把UILabel、UIButton、UIImageView等控件添加到父视图上。
2、.leftView = 父视图;

实例代码如下:

  let leftView = UIView.init(frame:  CGRect.init(x: 0, y: 0, width: 37, height: 32))
   let leftIV = UIImageView.init(frame: CGRect(x: 0, y: 0, width: 37, height: 32))
   leftIV.contentMode = .center;
   leftIV.image = UIImage.init(named: "icon_order_search");
   leftView.addSubview(leftIV)
   
   searchTF?.leftView = leftView;
   searchTF?.leftViewMode = .unlessEditing;
   
   let rightView = UIView.init(frame:  CGRect.init(x: 0, y: 0, width: 37, height: 32))

   let rightIV = UIButton.init(frame: CGRect(x: 0, y: 0, width: 37, height: 32))
   rightIV.setImage(UIImage.init(named: "icon_order_search_scan"), for: .normal);
   rightIV.addTarget(self, action: #selector(scanQRClick(sender:)), for: .touchUpInside);
   rightIV.tag = 2;
   rightView.addSubview(rightIV)
   
   searchTF?.rightView = rightView;
   searchTF?.rightViewMode = .always;

相关文章

网友评论

      本文标题:iOS14.0+解决UITextField 中 leftView

      本文链接:https://www.haomeiwen.com/subject/ysgrpltx.html