Ios 有没有办法在Apple Watch中制作类似iPhone progressbar的软件?

Ios 有没有办法在Apple Watch中制作类似iPhone progressbar的软件?,ios,watchkit,apple-watch,Ios,Watchkit,Apple Watch,大家好,我是Apple Watch开发的新手,有没有办法在Apple Watch中显示进度条?我有一个应用程序,其中有一个更新了用户位置的进度条。我在iPhone中实现了同样的功能,但现在我想在Apple Watch中实现同样的功能。有什么方法可以做到这一点吗?目前没有进度条 变通办法 一个相当简单的解决方法是设计一个看起来像进度条的控件,以及填充进度条的渐进图像。然后更新显示的当前图像,以匹配用户位置进展的百分比。在watchOS 2+中,最简单的纯色进度条方法需要1个图像: 在需要进度条的位

大家好,我是Apple Watch开发的新手,有没有办法在Apple Watch中显示进度条?我有一个应用程序,其中有一个更新了用户位置的进度条。我在iPhone中实现了同样的功能,但现在我想在Apple Watch中实现同样的功能。有什么方法可以做到这一点吗?

目前没有进度条

变通办法
一个相当简单的解决方法是设计一个看起来像进度条的控件,以及填充进度条的渐进图像。然后更新显示的当前图像,以匹配用户位置进展的百分比。

在watchOS 2+中,最简单的纯色进度条方法需要1个图像:

  • 在需要进度条的位置添加组。该组的钢筋尺寸应为100%
  • 向具有纯色图像的组中添加WKInterfaceImage
  • 在代码中,只要当前值发生更改,就调用
    progressBarImage.setRelativeWidth(CGFloat(currentValue/maxValue),并进行调整:0)
  • 如果您想要一个垂直进度条,则有一个功能:
    progressBarImage.setRelativeHeight(CGFloat(currentValue/maxValue),带调整:0)


    您还可以在手机上动态创建图像。我将此作为练习留给读者。

    我找到了一种更简单的方法

    你可以分两组来做。这个过程与Fizker的回答类似

  • 在需要进度条的位置添加组。小组应该有 100%和固定高度下的钢筋尺寸
  • 使用相同的固定高度将另一组添加到上一组
  • 为第二组创建一个出口。(例如:progressGroup)
  • 在代码调用中
    progressGroup.setRelativeWidth(CGFloat(currentValue/maxValue),带调整:0)

  • 这将是一个非常小的图像压缩集和其他一切。相信我,100张图片不会占用那么多空间。任何包含动画的应用程序在其捆绑包中都有100(如果不是1000)个图像来创建这些动画。此外,如果您真的那么担心,您可以创建20个图像,并且只以5%的增量显示更新。此解决方案比公认的解决方案简单得多,并且仍然适用于Swift 5/watchOS 5。不知道为什么这不是公认的答案。