如何使用WatchKit创建圆形图像?

时间:2015-04-25 11:02:23

标签: ios watchkit apple-watch

我正在尝试在我的WatchKit应用程序中显示一个圆形图像,但我找不到任何方法以编程方式进行。

我做了什么,它是使用我的原始图像作为一组背景并放入一个圆形的面具图像,但我认为这不是那么干净。

我想到的另一个不同的解决方案是在我的后端创建一个新的缩略图或类似我想要显示的形状,但这需要更多时间进行编程。

我也可以使用WKInterfaceGroup的radius参数,但在我的情况下(见下图),我会丢失我在角落里的通知气泡。

我的应用界面:

enter image description here

优步应用示例:

enter image description here

5 个答案:

答案 0 :(得分:6)

WKInterfaceImage放在WKInterfaceGroup内,并在Interface Builder中围绕组的角落。

答案 1 :(得分:4)

目前无法尝试创建的内容(我们将看看Apple是否会在今年夏天为WatchKit添加新功能)。您需要屏蔽设备上的图标并缓存在手表上。

正如'bgilham'所说,你可以将WKInterfaceImage放在WKInterfaceGroup中,但你不必这样做。您只需设置WKInterfaceGroup的背景图像即可。这次你可以创建一些闪亮的虚假子视图。 WKInterfaceGroup内的WKInterfaceGroup,上面有不同的背景图像。

例如。假设你有三个ui(WKInterface)元素'iconGroup','badgeGroup','badgeLabel'。 徽章组内部徽章标签。将badgeGroups半径设置为其高度的一半。如果badgeGroups宽度等于它的高度,你将获得一个漂亮的圆圈。将badgeGroup放在右上角的iconGroup中。您现在可以将iconGroup的半径设置为等于badgeGroup的半径。设置背景图像,你会得到一个带有动态徽章的圆角矩形。

您还可以隐藏某些项目(群组)并伪造您的观看应用内部的一些动态更改。有这样的假货,你可以创造吨。如果您要添加一些动画(例如.png文件),您可以创建具有透明叠加层的假视图,等等。

<强>更新 我检查了超级应用的超级截图,因为我想知道他们是如何在地图上创建叠加的。我唯一的线索是,他们在iPhone上创建了大量图像,并将它们发送到苹果手表,为WKInterfaceGroup的背景图像设置动画。如果图像被缓存,它们将在手表上播放30fps,否则它将达到10fps左右。

我的发言: 因此,重新考虑您的设计,并不总是像其他人一样做出设计。创造一些闪亮的新东西,以便人们记住你的工作。 :)

希望这会帮助你们重新思考你的工作并创建一些很酷的手表应用程序。第一天的应用程序根本不是那么好,只有少数几个是。

答案 2 :(得分:2)

您实际上可以通过使用三组来实现这一目标:

  1. 第一个WKInterfaceGroup将原始的非裁剪图像作为背景。
  2. 第二个WKInterfaceGroup位于第一个WKInterfaceGroup内,但大小相同,以圆形图像蒙版为背景。
  3. 第二个{{1}}包含您的徽章。您可以在其中添加文本标签。
  4. 虽然这需要纯粹的简单背景,因此遮罩图像可以简单地覆盖在背景图像上方,但这不需要在手机和手表之间传输任何图像数据。

答案 3 :(得分:0)

现在这样做的唯一方法就像你说的那样。要将配置文件图像屏蔽为圆形,请将其添加到组中,然后将通知气泡组添加为主要组的子组(圆形半径和内部标签。)

现在没有办法让子组忽略其父剪辑半径。

答案 4 :(得分:0)

我使用了来自http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/的UIImage类别。 这有一个圆角图像类别,在watchkit app中为我工作。