我有一个简单的应用程序,我已经添加了自定义折线图。在我的UIViews中绘制这个图表时,一切都很好,但是当我将图表添加到简化视图时,我突然遇到一种情况,即我绘制的所有文本都清晰/不存在。
由于算法需要处理动画(iOS / Android / Web)的兼容性,所以涉及一些静态变量,因此完整的示例相当复杂。
的末尾添加了一种简单的绘图方法 //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视图(或任何其他自定义绘图发生),我最终得到这个:
我无法追查此事,而且我有一个(合理的)恼火的客户。
“重新加载视图”的代码基本上是view.dismiss(animated:true)
接下来是
performSegue("brokenView")
之前有没有人遇到这种行为?是否有任何指针可以让文字坚持下去。我正在讨论在我的主屏幕上绘制一个隐藏的UIView来修复它但我必须有一个更好的方法。
投入橙色线条以确认我的“边界框”没有离开屏幕。
有问题的层基本上是这样的: