iOS14.0+解決UITextField 中 leftView和rightView設置控件寬高無效的問題
iOS14.0+ UITextField 中 leftView和rightView設置UILabel、UIButton、UIImageView等控件的寬高無效
問題現(xiàn)象
小于iOS14.0,UILabel、UIButton、UIImageView等控件設置寬高有效,iOS14.0+,設置寬高無效,解決方案同下即可。
解決方案:
1、創(chuàng)建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;