Amr*_*med 4 uitextfield viewdidload ios autolayout swift
我试图围绕两个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
}
}
Run Code Online (Sandbox Code Playgroud)
和
self.FirstTextField.roundCorners(UIRectCorner.TopRight | UIRectCorner.TopLeft, radius: 10.0)
self.SecondTextField.roundCorners(UIRectCorner.BottomLeft | UIRectCorner.BottomRight, radius: 10.0)
Run Code Online (Sandbox Code Playgroud)
我曾经期望解决这个问题的一件事是在主队列上调度
dispatch_async(dispatch_get_main_queue(),{
self.FirstTextField.roundCorners(UIRectCorner.TopRight | UIRectCorner.TopLeft, radius: 10.0)
self.SecondTextField.roundCorners(UIRectCorner.BottomLeft | UIRectCorner.BottomRight, radius: 10.0)
});
Run Code Online (Sandbox Code Playgroud)
现在我不知道这是否效率低,但是它的确有效:D
如果有人有更好的答案请发布:)
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |