问题描述
我正在绘制一系列触摸彼此边缘的UIView。
但是,当我设置view.layer.cornerRadius
时,它们会稍微偏离对齐状态,从而造成伪影。有什么解决办法吗?
最小工作示例(Swift Playround):
似乎取决于浮点坐标。 不过,我希望有一个版本不需要我将坐标四舍五入为整数。
import UIKit
import PlaygroundSupport
class ViewController: UIViewController {
override func viewDidLoad(){
super.viewDidLoad()
self.view.backgroundColor = .white
let rect11 = UIView(frame: CGRect(x: 100,y: 100.15,width: 100,height: 100))
let rect12 = UIView(frame: CGRect(x: 100,y: 200.15,height: 100))
let rect21 = UIView(frame: CGRect(x: 300,height: 100))
let rect22 = UIView(frame: CGRect(x: 300,height: 100))
rect21.layer.cornerRadius = 10
rect22.layer.cornerRadius = 10
rect11.backgroundColor = .black
rect12.backgroundColor = .black
rect21.backgroundColor = .black
rect22.backgroundColor = .black
self.view.addSubview(rect11)
self.view.addSubview(rect12)
self.view.addSubview(rect21)
self.view.addSubview(rect22)
}
}
let controller = ViewController()
PlaygroundPage.current.liveView = UINavigationController(rootViewController: controller)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)