4

我有两个带有图像的按钮,我想一个重叠。甚至有可能做到 iOS Watch 吗?此外,如何处理 WKInterfaceObject 在 watch 编程中的背景或前景深度,如 sendViewtoBackground 或 BringSubViewtoFront,就像在普通 iOS 编程中一样?

4

4 回答 4

12

从 watchOS4 开始这是可能的:您可以使用组来创建重叠内容。在属性检查器中将组的布局属性设置为“重叠”。系统根据项目的对齐属性定位组中的每个项目。

更多信息@ https://developer.apple.com/documentation/watchkit/wkinterfacegroup

于 2017-10-04T17:47:48.570 回答
4

WatchOS4+

对于 Watch OS4+ ,请遵循@DrMickeyLauer 给出的答案

过时的答案

在手表中,您没有 Z 层次结构。

您最多可以使用一个组,该组具有背景,然后可以控制该背景。

另一种选择(hack?)是将所有层次结构呈现为 UIImage 并将其设置在手表中。

于 2015-04-20T13:21:13.270 回答
1

不,你不能,使用 iOS 正常编程。

你可以有两个技巧:

  • 创建一个组,并隐藏您不想看到的按钮。当您想要更改时隐藏/取消隐藏您的按钮。

  • 在同一个 WKButton 上管理:您更改按钮上的图像,并根据您修改逻辑的图像(不是一个很好的 hack)。

于 2015-04-20T13:52:24.540 回答
0

我花了一段时间才弄清楚。但是,我不仅可以重叠界面元素,还可以将 alpha 设置为不同的值。Interface Builder 的附加图像显示了两件事:重叠对象和重叠对象的不同 alpha 设置。

注意Interface Controller背景中的waveform.path SF Symbol和它上面的播放按钮之间的区别。仅使用 SF 符号无法以任何其他方式实现此效果。如果一个分组元素的 alpha 值降低,则其他元素的 alpha 值也会降低。为了达到这个效果,我将重叠组的背景设置为纯黑色,然后将 alpha 设置为 0.75,让大约 0.25 的波形路径符号显示出来。这样做可以让我在不影响其 alpha 设置的情况下重叠播放按钮。

下图显示了布局中每个元素的设置:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2020-09-09T13:08:32.937 回答