如何使用界面构建器在iOS监视工具包中叠加两个控件

时间:2015-04-20 13:00:58

标签: ios watchkit apple-watch ios-extensions

我有两个带图像的按钮,我希望重叠一个。 iOS手表甚至可以吗? 此外,如何在手表编程中处理WKInterfaceObject的背景或前景深度,如sendViewtoBackground或bringSubViewtoFront,就像在普通的iOS编程中一样?

4 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:4)

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

你可以做的最大的事情是使用一个具有背景的组,然后控制该背景。

另一种选择(黑客?)是将所有层次结构渲染为UIImage并将其设置在监视中。

答案 2 :(得分:1)

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

你可以有两个黑客:

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

  • 在同一个WKButton上进行管理:您可以更改按钮上的图像,并根据图像修改逻辑(不是很好的黑客攻击)。

答案 3 :(得分:0)

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

请注意接口控制器背景中的wave.path SF符号与其上方的播放按钮之间的差异。仅使用SF符号无法以任何其他方式实现此效果。如果一个分组元素的alpha减小,则其他元素的alpha减小。为了实现此效果,我将重叠组的背景设置为纯黑色,然后将alpha设置为0.75,以显示大约0.25的wave.path符号。这样做使我可以在不影响其alpha设置的情况下重叠播放按钮。

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

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here