cashapelayer

在 viewWillAppear 方法上使用 UIButton 加载 CAShapeLayer

我有一个带有一些阴影效果的自定义按钮,遵循我用来创建从 stackoverflow 获得的自定义按钮的类。它使用 CAShapeLayer 在按钮上产生阴影效果。 import UIKit class CustomButton: UIButton { var shadowLayer: CAShapeLayer! override func layoutSubviews() { sup... »

CAShapeLayer 缓慢的用户交互

我有一个 CAShapeLayer,它必须执行一个简单的任务,即在用户手指的引导下在屏幕上移动。 问题是移动太慢了。图层确实移动了,但有延迟,感觉很慢。 我有另一个测试应用程序,其中 UIImage 被移动并且完全没有延迟并且图像立即移动。 我能做些什么来克服这个问题? -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)e... »

CATransaction 动画问题

我有一个CAShapeLayer 并试图为几个属性设置动画。一开始我确实使用了CABasicAnimation,但是由于这个循环一遍又一遍,我需要最有效的方法来做到这一点。 以下代码动画正确: private func animateDidBecomeStraight () { CATransaction.flush() CATransa... »

在 CAShapeLayer 图下方绘制渐变

我正在使用应用于 CAShapeLayer 的 CGPath 绘制图形。图形本身画得很好,但我想在它下面添加一个渐变。我的问题是路径是用一条从最后一点到第一点的直线封闭的(见下文)——这会使渐变填充看起来非常荒谬。 据我所知,避免这个问题的唯一方法是再画两条线:一条从图表的最后一点到右下角,另一条从那里到左下角角落。这会很好地关闭路径,但它会在图表中添加一条底线,这是我不想要的。 如果我使... »

ios swift中的形状

如何绘制背景模糊的曲线? 这里我附上了我的代码,但没有得到确切的输出 @IBDesignable class CurvedHeaderView: UIView { @IBInspectable var curveHeight:CGFloat = 50.0 var curvedLayer = CAShapeLayer() override func draw(_ rect: CGRect) { ... »

CAShapeLayer fillColor 不渲染

我有一个接受 UIBezierPath 作为参数并相应地绘制形状的方法。如果我用纯色填充形状,它会渲染得很好,但是如果我尝试用 alpha 使它成为颜色,我首先会收到一个 ARC 警告,要求更改代码并使用桥接,然后填充颜色根本不会渲染。 这可行,但不是我想要的: standShapeLayer.fillColor = [[UIColor redColor] CGColor]; 这会生成一... »

拖动并缩放使用 UIBezierPath IOS/Swift 绘制的矩形

我正在开发一个程序,它可以识别图像中的一个矩形,并在该识别的矩形的边界上绘制一条路径。现在我想重新定位该路径,以防它不在确切位置。例如看这张图片 在这种情况下,我需要拖动路径的角并将其重新定位为适合矩形。 为了绘制路径,我使用了 CAShapeLayer 和 UIBezierPath。这是我用来绘制路径的代码。 // imgView is the UIImageView which co... »

CAShapeLayer 出现在 Views 之前

我有两个视图,它们之间位于可调整大小的线(使用 CAShapeLayer 视图)。我面临的问题是,尽管图层上有动画,但它的出现速度比视图的变化快。我知道图层的动画完全不同,但不明白我的错在哪里。如果我做错了什么,请告诉我。 这是我的图层动画的代码(也使用了“strokeStart”,但没有用): override func layoutSubviews() { super.layout... »

使用 CAShapeLayer 创建的动画圆的 CAGradientLayer 问题

我正在使用 UIBezierPath 和 CAShapeLayer 绘制一个动画圆圈。现在,在添加渐变效果时,出现的问题是 - CAGradientLayer 从颠倒添加它的渐变效果。但是我想要从圆的起点到圆的终点的渐变效果。 我得到的是 - 我的代码是 - (它是一个函数) circle.path = [UIBezierPath bezierPathWithArcCenter:CG... »

如何在不使用蒙版的情况下为 Cashapelayer 设置渐变填充颜色?

如何为cashapelayer 设置渐变填充颜色? 具有更清晰解释的相关问题: Using Cocoa To Follow A Path With A Gradient 我需要一个不是遮罩的渐变,而是基于 Cashapelayer 路径绘制的渐变。 我不能在顶部使用渐变蒙版,因为我正在游戏中的小地图上制作路线。所以如果玩家走过自己的轨道,它应该是不同的颜色。 我希望它像这个 mapview ... »

带有边框和切角的 iOS 形状

我有这个形状: http://screencast.com/t/9UUhAXT5Wu 但边界没有在截止时跟随它 - 我该如何修复它? 这是我当前视图的代码: self.view.backgroundColor = color; CALayer *backgroundLayer = self.view.layer; CAShapeLayer *mask = CAShapeLayer.new;... »

ios

单边角的反向 UIBezierPath

我想创建一个蒙版路径,其最终输出将是一个带有凹面的角。 我使用-bezierPathWithRoundedRect:byRoundingCorners:cornerRadii: 方法创建了一个UIBezierPath 并指定只需要圆角(在本例中为UIRectCornerBottomLeft),我认为通过反转这个路径,我应该首先得到会被削减的东西。 为此,我正在尝试-bezierPathByRev... »

CAShapeLayer strokeStart 和 strokeEnd 位置

我有这段代码: let arcPath = UIBezierPath(ovalInRect: CGRectMake(0, 0, frame.width, frame.height)) circleLayer = CAShapeLayer() circleLayer.path = arcPath.CGPath circleLayer.fillColor = UIC... »

CABasicAnimation 圆圈 CAShapeLayer 在地图上移动而不是缩放

我正在尝试创建一个隐藏视图的动画。起初,它从屏幕上的一个点(例如 150)开始,然后按比例放大直到适合整个屏幕。这是我尝试过的 public func testAnimation(anchor : CGRect){ self.isHidden = false let mask = CAShapeLayer() let radius = 15 mask.path =... »

带圆形点的动画折线图

我偶然发现了一个有趣的问题,但我不知道如何解决它。我有一个折线图,上面的数据点用圆点标记。目前我正在为线本身创建一个CAShapeLayer,并为每个点创建一个CAShapeLayer。 线条正在使用 strokeEnd 动画键路径进行动画处理。它正在工作。然而,稍微负面的影响是,一旦我打开图表,我会看到所有数据点都已经绘制出来,然后一条线正在通过它们进行动画处理。 理想情况下,我想改变这种行... »

ios

如何使 UIBezierPath 从中心填充

如何制作从中心开始绘制并向左右扩展的 UIBezierPath? 我当前的解决方案不是使用 UIBezierPath,而是使用另一个 UIView 中的 UIView。子视图位于其父视图的中心,当我需要扩展子视图时,我会调整子视图的宽度。然而,这个解决方案远非完美,因为视图位于 UIStackView 内部,而堆栈视图位于 UICollectionView 单元格中,有时无法正确获取宽度。 ... »

SceneKit CALayer 锐化绘图

我正在尝试绘制 UIBezierPaths 并将它们显示在 SCNPlane 上,尽管我得到了一个非常不清晰的结果 (See in the image) 我怎样才能使它更清晰? let displayLayer = CAShapeLayer() displayLayer.frame = CGRect(x: 0, y: 0, width: 200, height: 200) display... »

ios