space 在我视图边框的开头
space at the beginning of my view's border
我正在为我的视图添加边框,如下所示:
func addBottomBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height, width: self.frame.size.width, height: width)
self.layer.addSublayer(border)
}
但是 strangley 这在 Iphone 7 上工作正常,但在 iphone 7 plus .. 我会得到这个结果:
如您所见,视图边框的开头有一个 space.. 为什么?
视图的阴影也发生了同样的事情。我是这样做的:
func dropShadow(scale: Bool = true) {
layer.shadowColor = UIColor.lightGray.cgColor
layer.shadowOpacity = 0.5
layer.shadowOffset = CGSize.zero
layer.shadowRadius = 1
layer.shadowPath = UIBezierPath(rect: bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = scale ? UIScreen.main.scale : 1
}
并在 iphone 7 加
的视图末尾获得 space
如何解决?
表示你的UI没有更新,调用viewdidAppear或者使用
强制更新viewdidload主线程中的UI
DispatchQueue.main.async {
//call your addBottomBorderWithColor
}
尝试在
中调用 addBottomBorderWithColor
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
UI 根据 ViewDidLoad
之后的约束进行更新。
我正在为我的视图添加边框,如下所示:
func addBottomBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height, width: self.frame.size.width, height: width)
self.layer.addSublayer(border)
}
但是 strangley 这在 Iphone 7 上工作正常,但在 iphone 7 plus .. 我会得到这个结果:
如您所见,视图边框的开头有一个 space.. 为什么?
视图的阴影也发生了同样的事情。我是这样做的:
func dropShadow(scale: Bool = true) {
layer.shadowColor = UIColor.lightGray.cgColor
layer.shadowOpacity = 0.5
layer.shadowOffset = CGSize.zero
layer.shadowRadius = 1
layer.shadowPath = UIBezierPath(rect: bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = scale ? UIScreen.main.scale : 1
}
并在 iphone 7 加
的视图末尾获得 space如何解决?
表示你的UI没有更新,调用viewdidAppear或者使用
强制更新viewdidload主线程中的UIDispatchQueue.main.async {
//call your addBottomBorderWithColor
}
尝试在
中调用addBottomBorderWithColor
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
UI 根据 ViewDidLoad
之后的约束进行更新。