- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 UIBezierPath arc 便捷方法创建一个 arc。我想要圆弧的末端 - 具体要求请参见附图! roundedRect 版本中使用的 cornerRadius 选项不适用于 arc 方法。任何人都知道如何实现这一目标?提前致谢。 (这与之前提出的问题不同,因为它提供了确切的要求)
let center = CGPoint(x:bounds.width/2, y: bounds.height/2)
let radius: CGFloat = max(bounds.width, bounds.height)
let arcWidth: CGFloat = 10
let startAngle: CGFloat = 4.6 / 3 * π
let endAngle: CGFloat = 4.4 / 3 * π
let path = UIBezierPath(arcCenter: center, radius: radius/2 - arcWidth/2, startAngle: startAngle, endAngle: endAngle, clockwise: true)
path.lineWidth = arcWidth
// all thats needed to make the ends rounded is
path.lineCapStyle = .Round
path.stroke()
最佳答案
真正起作用的是 lineCap 属性。您可以使用下面的代码。
func drawCircle(view: UIView, startingAngle: CGFloat, endAngle: CGFloat) -> CAShapeLayer {
let path = UIBezierPath(arcCenter: view.center, radius: CGFloat((view.bounds.size.height/2) - 10), startAngle: startingAngle, endAngle:endAngle, clockwise: true)
let shapeLayer = CAShapeLayer()
shapeLayer.path = path.CGPath
shapeLayer.strokeColor = UIColor.blackColor().CGColor
shapeLayer.lineWidth = 10.0
shapeLayer.fillColor = UIColor.clearColor().CGColor
shapeLayer.lineCap = kCALineCapRound
view.layer.addSublayer(shapeLayer)
return shapeLayer
}
关于swift - 如何将角半径添加到 UIBezier 路径弧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35744802/
我正在尝试创建一个正在实时更新的简单折线图。某种地震仪。 我在考虑 UIBezierPath ,通过根据输入变量仅在 y 轴上移动一个点,我可以创建一条在时间轴上移动的线。 问题是你必须“推”之前的点
我正在使用 UIBezierPath arc 便捷方法创建一个 arc。我想要圆弧的末端 - 具体要求请参见附图! roundedRect 版本中使用的 cornerRadius 选项不适用于 arc
我有一个 UIImageView,带有特定的图像。我还有一个形状奇怪的 UIBezierPath。我想将图像剪切成该形状并返回该形状的新图像。 形式为: func getCut(bezier:UIBe
我正在尝试设计一个可缩放的 UIBezier。 这是我的 Swift 代码: @IBDesignable class AnimatedRingView: UIView { override
我想在屏幕上绘制多个字母的动画。我的数据在一个数组中。该数组包含线对象,这些线对象具有动画的开始和结束时间,以及构成线的点。我目前的代码如下: private func animateSentData
我在可缩放的 UIView(pdf 阅读器的绘图层)中绘制贝塞尔曲线。当我放大文档时,UIView 也放大了,但是所有的绘图和线条看起来像素化了很多。有没有办法在没有太多像素化的情况下渲染这些路径?它
我有一个包含 CGPath 的 CAShapeLayer。使用 iOS 的内置动画,我可以使用动画轻松地将这条路径变成另一条路径: CABasicAnimation *morph = [CAB
我试图强制一个动画等待另一个,但没有运气。 UIBezierPath *path = [UIBezierPath bezierPath]; 这就是我想要做的: [path addLineToPoint
编辑:抱歉,我最初并不清楚。我想获得线条或形状的“轮廓”路径。我特别想了解如何使用: context.replacePathWithStrokedPath() 和/或: CGPathRef CGPat
我想使用 CGAffineTransform(rotationAngle:) 在 UIView 的绘制下制作路径动画。我找不到任何方法... 这是我的代码: public override
我是一名优秀的程序员,十分优秀!