在我的视图中添加边框,如下所示:
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)
}
但是扼杀在iPhone 7上可以正常工作,但是在iPhone 7 plus上..我会得到以下结果:
如您所见,视图边框的开始处有一个空格。.为什么?
视图的阴影发生了同样的事情..正在这样做:
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 plus上的视图末尾获得空间
如何解决?
答案 0 :(得分:0)
这表示您的用户界面未更新,调用 viewdidAppear 或使用
强制在viewdidload的主线程中更新用户界面DispatchQueue.main.async {
//call your addBottomBorderWithColor
}
答案 1 :(得分:0)
尝试通过以下方式致电addBottomBorderWithColor
:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
根据ViewDidLoad
之后的约束条件更新用户界面。