我正在尝试将两个 UITextField 的顶部和底部边框圆角化。
ViewDidLoad()
中的结果
ViewDidAppear
中的结果
问题在于 ViewDidAppear
方法会在加载视图后半秒钟才更改边框,这在我的情况下不好。
有人知道为什么只有在 ViewDidLoad
方法中左侧角落变成了圆角吗?
欢迎任何建议。
* 更新 *
viewDidLayoutSubviews
与 ViewDidLoad
相同。
以下是我用于设置圆角的代码:
extension UITextField {
func roundCorners(corners:UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.masksToBounds = true
self.layer.mask = mask
}
}
并且,
self.FirstTextField.roundCorners(UIRectCorner.TopRight | UIRectCorner.TopLeft, radius: 10.0)
self.SecondTextField.roundCorners(UIRectCorner.BottomLeft | UIRectCorner.BottomRight, radius: 10.0)