如何使用界面生成器重叠 iOS watch kit 中的两个控件
How to overlap two controls in iOS watch kit using interfacebuilder
我有两个带有图像的按钮,我想将一个按钮重叠在另一个按钮上。甚至可以做到iOS观看吗?
此外,如何在手表编程中处理 WKInterfaceObject 的背景或前景深度,如正常 iOS 编程中的 sendViewtoBackground 或 bringSubViewtoFront?
WatchOS4+
对于 @DrMickeyLauer 给出的 Watch OS4+ 。
过时的答案
手表中没有 Z 层次结构。
您最多只能使用一个组,该组具有背景,然后可以控制该背景。
另一种选择(hack?)是将所有层次结构渲染到 UIImage 中并将其设置在手表中。
不,你不能,使用 iOS 正常编程。
你可以有两个黑客:
创建一个组,并隐藏您不想看到的按钮。 Hide/Unhide你想换的时候的按钮。
在同一个 WKButton 上进行管理:您更改按钮上的图像,并根据图像修改您的逻辑(这不是一个很好的 hack)。
自 watchOS4 以来这是可能的:您可以使用组来创建重叠 内容。在属性检查器中将组的布局属性设置为“重叠”。系统根据项目的对齐属性在组中定位每个项目。
更多信息@https://developer.apple.com/documentation/watchkit/wkinterfacegroup
我花了一段时间才弄明白;但是,我不仅可以重叠界面元素,还可以将 alpha 设置为不同的值。 Interface Builder 的附加图像显示了两件事:重叠对象和重叠对象的不同 alpha 设置。
注意Interface Controller背景中的waveform.path SF符号和上面的播放按钮的区别。仅使用 SF Symbols 无法以任何其他方式实现此效果。如果一个分组元素的 alpha 减少,则其他元素的 alpha 也会减少。为达到效果,我将重叠组的背景设置为纯黑色,然后将 alpha 设置为 0.75,让 waveform.path 符号的大约 0.25 显示出来。这样做可以让我在不影响其 alpha 设置的情况下重叠播放按钮。
下图显示了布局中每个元素的设置:
我有两个带有图像的按钮,我想将一个按钮重叠在另一个按钮上。甚至可以做到iOS观看吗? 此外,如何在手表编程中处理 WKInterfaceObject 的背景或前景深度,如正常 iOS 编程中的 sendViewtoBackground 或 bringSubViewtoFront?
WatchOS4+
对于 @DrMickeyLauer 给出的 Watch OS4+
过时的答案
手表中没有 Z 层次结构。
您最多只能使用一个组,该组具有背景,然后可以控制该背景。
另一种选择(hack?)是将所有层次结构渲染到 UIImage 中并将其设置在手表中。
不,你不能,使用 iOS 正常编程。
你可以有两个黑客:
创建一个组,并隐藏您不想看到的按钮。 Hide/Unhide你想换的时候的按钮。
在同一个 WKButton 上进行管理:您更改按钮上的图像,并根据图像修改您的逻辑(这不是一个很好的 hack)。
自 watchOS4 以来这是可能的:您可以使用组来创建重叠 内容。在属性检查器中将组的布局属性设置为“重叠”。系统根据项目的对齐属性在组中定位每个项目。
更多信息@https://developer.apple.com/documentation/watchkit/wkinterfacegroup
我花了一段时间才弄明白;但是,我不仅可以重叠界面元素,还可以将 alpha 设置为不同的值。 Interface Builder 的附加图像显示了两件事:重叠对象和重叠对象的不同 alpha 设置。
注意Interface Controller背景中的waveform.path SF符号和上面的播放按钮的区别。仅使用 SF Symbols 无法以任何其他方式实现此效果。如果一个分组元素的 alpha 减少,则其他元素的 alpha 也会减少。为达到效果,我将重叠组的背景设置为纯黑色,然后将 alpha 设置为 0.75,让 waveform.path 符号的大约 0.25 显示出来。这样做可以让我在不影响其 alpha 设置的情况下重叠播放按钮。
下图显示了布局中每个元素的设置: