gpt4 book ai didi

ios - Swift 绘图代码在 tvOS 上的行为与 iOS 不同

转载 作者:行者123 更新时间:2023-11-28 06:18:24 25 4
gpt4 key购买 nike

我工作的公司同时提供 iOS 和 tvOS 版本的应用程序。该应用程序在底部绘制了一个脚本,供用户在锻炼期间跟上,如下所示:Typical drawing on iOS

这在任何针对 iOS 的应用程序中都运行良好超过一年。然而,当以 tvOS 为目标时,使用相同的绘图代码,而不是按照我期望的方式绘制,tvOS View 在绘制每一行后留下我称之为“痕迹”的东西,而不是只有一行用于当前时间。

Wrong drawing on tvOS

绘制代码如下:

    func addIndicatorLine(_ context:CGContext?, rect: CGRect, start: CGPoint, color: UIColor = UIColor.white) {
context!.translateBy(x: rect.origin.x, y: rect.height)
context!.scaleBy(x: 1.0, y: -1.0)

context!.setLineWidth(1.0)

context!.setStrokeColor(color.cgColor)
context!.move(to: CGPoint(x: start.x, y: 0))

context!.addLine(to: CGPoint(x: start.x, y: rect.size.height - 5))
context!.strokePath()
context!.scaleBy(x: 1.0, y: -1.0)
context!.translateBy(x: -rect.origin.x, y: -rect.height)
}

我是否遗漏了一些明显的东西,或者我必须为 tvOS 版本的绘图代码做一些不同的事情?

最佳答案

所以经过几天的尝试解决这个问题,多亏了一个答案(https://stackoverflow.com/a/43898524/2820553)向我指出了文档中的一行,我需要给我的 View 一个背景颜色,否则绘图错误可能发生:

If the view’s opaque property is also set to YES, the backgroundColor property of the view must not be nil or drawing errors may occur.

只需将 View 的背景设置为清晰的颜色即可解决此问题。令人惊讶的是它没有出现在 iOS 中,而是出现在 tvOS 中。希望这可以帮助其他人寻找类似的东西。

关于ios - Swift 绘图代码在 tvOS 上的行为与 iOS 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44394006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com