【问题标题】:Can't display an UIBezierPath无法显示 UIBezierPath
【发布时间】:2016-02-27 21:38:35
【问题描述】:

我正在尝试在视图中显示 UIBezierPath。那就是对象:

let color = UIColor(red: 0.651, green: 1.000, blue: 0.000, alpha: 1.000).setFill() 
let rectanglePath = UIBezierPath(rect: CGRectMake(15, 0, 8, 120))
rectanglePath.fill()

但是,当运行时,xCode 在控制台中只显示很多消息,而在模拟器中则没有!

我尝试遵循这些解决方案How can I set CG_CONTEXT_SHOW_BACKTRACE environmental variable?,但结果相同(他们认为,问题应该在 iOS 9.1 中解决)。

Here's an example code.

【问题讨论】:

  • 我认为你需要先了解在 iOS 上自定义绘图的基础知识。开始学习核心图形库。这是一个很好的教程:raywenderlich.com/90690/modern-core-graphics-with-swift-part-1
  • 不能直接在viewController中绘制UIBezierPath吗?
  • 记住,你是在 View 而不是在 ViewController 上绘制的。

标签: swift uibezierpath backtrace nsbezierpath


【解决方案1】:

只需更改代码:

    let shapeLayer = CAShapeLayer()
    let color = UIColor(red: 0.651, green: 1.000, blue: 0.000, alpha: 1.000).CGColor
    let rectanglePath = UIBezierPath(rect: CGRectMake(15, 0, 8, 120))

    shapeLayer.path = rectanglePath
    shapeLayer.fillColor = color

    self.view.layer.addSublayer(shapeLayer)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2013-02-07
    相关资源
    最近更新 更多