我的类中有以下两个函数,它们扩展了 CAShapeLayer,但每次绘制路径时,我都无法获得带有圆形端盖的弧线。它看起来总是这样的:
我已经尝试使用 kCALineCapRound,但没有成功。有什么想法吗?
self.lineShape.lineCap = kCALineCapRound;
self.lineShape.lineJoin = kCALineJoinRound;
p...
»
我有一个带有一些阴影效果的自定义按钮,遵循我用来创建从 stackoverflow 获得的自定义按钮的类。它使用 CAShapeLayer 在按钮上产生阴影效果。
import UIKit
class CustomButton: UIButton {
var shadowLayer: CAShapeLayer!
override func layoutSubviews() {
sup...
»
我有一个 CAShapeLayer,它必须执行一个简单的任务,即在用户手指的引导下在屏幕上移动。
问题是移动太慢了。图层确实移动了,但有延迟,感觉很慢。
我有另一个测试应用程序,其中 UIImage 被移动并且完全没有延迟并且图像立即移动。
我能做些什么来克服这个问题?
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)e...
»
我有一个CAShapeLayer 并试图为几个属性设置动画。一开始我确实使用了CABasicAnimation,但是由于这个循环一遍又一遍,我需要最有效的方法来做到这一点。
以下代码动画正确:
private func animateDidBecomeStraight () {
CATransaction.flush()
CATransa...
»
我正在使用应用于 CAShapeLayer 的 CGPath 绘制图形。图形本身画得很好,但我想在它下面添加一个渐变。我的问题是路径是用一条从最后一点到第一点的直线封闭的(见下文)——这会使渐变填充看起来非常荒谬。
据我所知,避免这个问题的唯一方法是再画两条线:一条从图表的最后一点到右下角,另一条从那里到左下角角落。这会很好地关闭路径,但它会在图表中添加一条底线,这是我不想要的。
如果我使...
»
我有一个UIButton,里面有一个CAShapeLayer。这是子类代码的一部分:
private func addBeneathFill(){
didAddedBeneathFill = true
let halfBeneathFill = UIBezierPath()
halfBeneathFill.move(to: CGPoint(x: 0, y: frame.h...
»
如何绘制背景模糊的曲线?
这里我附上了我的代码,但没有得到确切的输出
@IBDesignable class CurvedHeaderView: UIView {
@IBInspectable var curveHeight:CGFloat = 50.0
var curvedLayer = CAShapeLayer()
override func draw(_ rect: CGRect) {
...
»
我有一个接受 UIBezierPath 作为参数并相应地绘制形状的方法。如果我用纯色填充形状,它会渲染得很好,但是如果我尝试用 alpha 使它成为颜色,我首先会收到一个 ARC 警告,要求更改代码并使用桥接,然后填充颜色根本不会渲染。
这可行,但不是我想要的:
standShapeLayer.fillColor = [[UIColor redColor] CGColor];
这会生成一...
»
我正在开发一个程序,它可以识别图像中的一个矩形,并在该识别的矩形的边界上绘制一条路径。现在我想重新定位该路径,以防它不在确切位置。例如看这张图片
在这种情况下,我需要拖动路径的角并将其重新定位为适合矩形。
为了绘制路径,我使用了 CAShapeLayer 和 UIBezierPath。这是我用来绘制路径的代码。
// imgView is the UIImageView which co...
»
我有两个视图,它们之间位于可调整大小的线(使用 CAShapeLayer 视图)。我面临的问题是,尽管图层上有动画,但它的出现速度比视图的变化快。我知道图层的动画完全不同,但不明白我的错在哪里。如果我做错了什么,请告诉我。
这是我的图层动画的代码(也使用了“strokeStart”,但没有用):
override func layoutSubviews() {
super.layout...
»
我正在使用 UIBezierPath 和 CAShapeLayer 绘制一个动画圆圈。现在,在添加渐变效果时,出现的问题是 - CAGradientLayer 从颠倒添加它的渐变效果。但是我想要从圆的起点到圆的终点的渐变效果。
我得到的是 -
我的代码是 - (它是一个函数)
circle.path = [UIBezierPath bezierPathWithArcCenter:CG...
»
如何为cashapelayer 设置渐变填充颜色?
具有更清晰解释的相关问题:
Using Cocoa To Follow A Path With A Gradient
我需要一个不是遮罩的渐变,而是基于 Cashapelayer 路径绘制的渐变。
我不能在顶部使用渐变蒙版,因为我正在游戏中的小地图上制作路线。所以如果玩家走过自己的轨道,它应该是不同的颜色。
我希望它像这个 mapview ...
»
我有这个形状:
http://screencast.com/t/9UUhAXT5Wu
但边界没有在截止时跟随它 - 我该如何修复它?
这是我当前视图的代码:
self.view.backgroundColor = color;
CALayer *backgroundLayer = self.view.layer;
CAShapeLayer *mask = CAShapeLayer.new;...
»
我想创建一个蒙版路径,其最终输出将是一个带有凹面的角。
我使用-bezierPathWithRoundedRect:byRoundingCorners:cornerRadii: 方法创建了一个UIBezierPath 并指定只需要圆角(在本例中为UIRectCornerBottomLeft),我认为通过反转这个路径,我应该首先得到会被削减的东西。
为此,我正在尝试-bezierPathByRev...
»
我有这段代码:
let arcPath = UIBezierPath(ovalInRect: CGRectMake(0, 0, frame.width, frame.height))
circleLayer = CAShapeLayer()
circleLayer.path = arcPath.CGPath
circleLayer.fillColor = UIC...
»
我正在尝试创建一个隐藏视图的动画。起初,它从屏幕上的一个点(例如 150)开始,然后按比例放大直到适合整个屏幕。这是我尝试过的
public func testAnimation(anchor : CGRect){
self.isHidden = false
let mask = CAShapeLayer()
let radius = 15
mask.path =...
»
我偶然发现了一个有趣的问题,但我不知道如何解决它。我有一个折线图,上面的数据点用圆点标记。目前我正在为线本身创建一个CAShapeLayer,并为每个点创建一个CAShapeLayer。
线条正在使用 strokeEnd 动画键路径进行动画处理。它正在工作。然而,稍微负面的影响是,一旦我打开图表,我会看到所有数据点都已经绘制出来,然后一条线正在通过它们进行动画处理。
理想情况下,我想改变这种行...
»
如何制作从中心开始绘制并向左右扩展的 UIBezierPath?
我当前的解决方案不是使用 UIBezierPath,而是使用另一个 UIView 中的 UIView。子视图位于其父视图的中心,当我需要扩展子视图时,我会调整子视图的宽度。然而,这个解决方案远非完美,因为视图位于 UIStackView 内部,而堆栈视图位于 UICollectionView 单元格中,有时无法正确获取宽度。
...
»
我正在尝试绘制 UIBezierPaths 并将它们显示在 SCNPlane 上,尽管我得到了一个非常不清晰的结果 (See in the image) 我怎样才能使它更清晰?
let displayLayer = CAShapeLayer()
displayLayer.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
display...
»
我想在objective-c中使用NSAttributedString在多行标签中添加背景线,如下图所示
我使用了以下代码
[yourView.layer setBorderWidth:5.0];
[yourView.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"DotedImage.png...
»