UITextField 边框在左侧和底部不同
UITextField border is different on left and bottom
我有一个像这样的 UITextField:
lazy var mailTextField: UITextField = {
let textField = UITextField(forAutoLayout: ())
textField.delegate = self
let leftImgView = UIImageView(image: UIImage(named: "dd"))
leftImgView.frame = CGRectMake(0.0, 0.0, leftImgView.image!.size.width + 22.0, leftImgView.image!.size.height);
leftImgView.contentMode = .Center
textField.leftView = leftImgView
textField.leftViewMode = .Always
textField.layer.borderColor = UIColor.sweet().CGColor
textField.layer.borderWidth = 1
textField.layer.masksToBounds = true
textField.autocorrectionType = .No
textField.autocapitalizationType = .None
textField.spellCheckingType = .No
return textField
}()
这给了我这个结果:
如果你仔细观察,你会发现左边和底部的线比较粗。这怎么可能?我告诉边框需要 1 厚。
有没有一种方法可以在顶部和右侧使用 1 的边框,然后在整个视图中使用?
我认为这是模拟器规模的问题..
通过 window -> scale -> 100%
或使用 ⌘+1 将模拟器缩放至 100%。这将解决您的问题。
我有一个像这样的 UITextField:
lazy var mailTextField: UITextField = {
let textField = UITextField(forAutoLayout: ())
textField.delegate = self
let leftImgView = UIImageView(image: UIImage(named: "dd"))
leftImgView.frame = CGRectMake(0.0, 0.0, leftImgView.image!.size.width + 22.0, leftImgView.image!.size.height);
leftImgView.contentMode = .Center
textField.leftView = leftImgView
textField.leftViewMode = .Always
textField.layer.borderColor = UIColor.sweet().CGColor
textField.layer.borderWidth = 1
textField.layer.masksToBounds = true
textField.autocorrectionType = .No
textField.autocapitalizationType = .None
textField.spellCheckingType = .No
return textField
}()
这给了我这个结果:
如果你仔细观察,你会发现左边和底部的线比较粗。这怎么可能?我告诉边框需要 1 厚。
有没有一种方法可以在顶部和右侧使用 1 的边框,然后在整个视图中使用?
我认为这是模拟器规模的问题..
通过 window -> scale -> 100%
或使用 ⌘+1 将模拟器缩放至 100%。这将解决您的问题。