【问题标题】:Setting the line cap of a CAShapeLayer设置 CAShapeLayer 的线帽
【发布时间】:2015-02-16 20:30:32
【问题描述】:

当我尝试运行一行代码时弹出一个非常奇怪的错误。

我有一个 CAShapeLayer 的子类,我正在尝试在其上设置线帽样式。我想使用圆帽样式,但是当我添加此代码时:

[self setLineCap: kCGLineCapRound];

构建失败,我收到此错误和警告:

ARC 不允许将“int”隐式转换为“NSString *”

不兼容的整数到指针转换将“int”发送到“NSString *”类型的参数

但是如果我添加这个:

[self setLineCap: kCGLineCapButt];

它构建得很好。为什么它会在其他线帽类型上中断?这是 Quartz 的问题/错误吗?


相关信息。

  • iOS SDK 8.1
  • Xcode 6.1.1
  • 部署目标 iOS 7.0

【问题讨论】:

    标签: ios objective-c quartz-graphics


    【解决方案1】:

    CAShapeLayer 使用 kCALineCap***,它是 CAShapeLayer.h 文件中定义的常量字符串,而不是作为枚举一部分的 kCGLineCap***。

    【讨论】:

    • 美丽。我不知道。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2013-05-16
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多