iOS文本绘制到上下文是清楚的

时间:2017-07-10 01:54:09

标签: ios iphone swift uiview core-graphics

我有一个简单的应用程序,我已经添加了自定义折线图。在我的UIViews中绘制这个图表时,一切都很好,但是当我将图表添加到简化视图时,我突然遇到一种情况,即我绘制的所有文本都清晰/不存在。

由于算法需要处理动画(iOS / Android / Web)的兼容性,所以涉及一些静态变量,因此完整的示例相当复杂。

为了解释这一点,我在CALayer.draw覆盖enter image description here

的末尾添加了一种简单的绘图方法
    //TEST CODE
    let box = CGRect(x: 0, y: 0, width: 100, height: 100)
    let textToDraw = "I AM A TEST"
    let font = UIFont.boldSystemFont(ofSize: 10)
    let boxSize = fontSize.space
    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.alignment = .right
    let attrs = [
        NSFontAttributeName: font,
        NSParagraphStyleAttributeName: paragraphStyle,
        NSForegroundColorAttributeName: UIColor.black
    ]


    ctx.setStrokeColor(UIColor.orange.cgColor)
    ctx.beginPath()
    ctx.move(to: CGPoint.zero)
    ctx.addLine(to: CGPoint(x: box.width, y: box.height))
    ctx.addLine(to: CGPoint(x: box.origin.x + box.width, y: box.origin.y + box.height))
    ctx.strokePath()

    //                print("fontSize:\(fontSize) string:\(textToDraw)")
    //textToDraw.draw(with: offset , options: .usesLineFragmentOrigin, attributes: attrs, context: nil)
    textToDraw.draw( in: box, withAttributes: attrs)

然而,这是令人沮丧的,如果我访问图表绘制的OTHER视图(或任何其他自定义绘图发生),我最终得到这个: enter image description here

我无法追查此事,而且我有一个(合理的)恼火的客户。

“重新加载视图”的代码基本上是view.dismiss(animated:true) 接下来是 performSegue("brokenView")

之前有没有人遇到这种行为?是否有任何指针可以让文字坚持下去。我正在讨论在我的主屏幕上绘制一个隐藏的UIView来修复它但我必须有一个更好的方法。

投入橙色线条以确认我的“边界框”没有离开屏幕。

有问题的层基本上是这样的:

0 个答案:

没有答案