【发布时间】:2020-05-21 06:10:57
【问题描述】:
所以我还没有看到任何其他关于此的 SO 问题。基本上,我以编程方式设置了一个带有自动布局的 UIView。
当我尝试创建 UIBezierPath 时出现问题:
let circularPath = UIBezierPath(arcCenter: myView.center, radius: (91*(1.2))/2 - (8/2), startAngle: -CGFloat.pi / 2, endAngle: 2 * CGFloat.pi, clockwise: true)
问题是 myView.center 打印出:0.0, 0.0,因为我没有为 myView 设置 CGRect .frame,而是使用了自动布局(如下所示):
NSLayoutConstraint.activate([
myView.heightAnchor.constraint(equalToConstant: 91),
myView.widthAnchor.constraint(equalToConstant: 91),
myView.centerXAnchor.constraint(equalToSystemSpacingAfter: myButton.centerXAnchor, multiplier: 1),
myView.centerYAnchor.constraint(equalToSystemSpacingBelow: myButton.centerYAnchor, multiplier: 1),
])
也许我应该注意到 myView 是作为 myButton 的子视图添加的(尽管这并不重要..)
那么我该如何做呢?我怎样才能让 .center(一种 CGPoint 类型)在 UIBezierPath 中使用?谢谢!
【问题讨论】:
标签: ios swift xcode autolayout uibezierpath