【问题标题】:How do I change the height type of a WKInterfaceObject programmatically?如何以编程方式更改 WKInterfaceObject 的高度类型?
【发布时间】:2023-04-10 20:20:01
【问题描述】:

在 WatchKit 故事板中,如果您添加 WKInterfaceObject(例如 WKInterfaceGroup),您有以下高度和宽度选项:

  1. 大小适合内容
  2. 相对于容器(值和调整)
  3. 固定(值)

在 WKInterfaceObject 标头中,只有一个与高度相关的属性:

func setHeight(height: CGFloat)

...在它声明的文档中:

设置对象的绝对高度(以磅为单位)。

这看起来与选项#3(固定值)相对应。

如何以编程方式选择其他 2 个选项中的任何一个(例如,如果我想将大小更改为“相对于容器”怎么办)?

【问题讨论】:

    标签: storyboard watchkit wkinterfacegroup wkinterfaceobject


    【解决方案1】:

    您目前无法将高度更改为固定值以外的任何值,因此请在情节提要中创建多个对象,每个对象都配置为您想要的高度选项,并根据需要隐藏/显示它们以获得您想要的效果寻找。由于 WatchKit 中的容器都是基于堆叠的,所以隐藏的对象不会占用任何空间。

    【讨论】:

      【解决方案2】:

      从 WatchOS 2.0 开始,您可以使用:

      • sizeToFitWidth()
      • sizeToFitHeight()
      • setRelativeWidth(CGFloat, withAdjustment: CGFloat)
      • setRelativeHeight(CGFloat, withAdjustment: CGFloat)

      https://developer.apple.com/reference/watchkit/wkinterfaceobject

      【讨论】:

        【解决方案3】:

        我怀疑是否有这些 API。 WatchKit 目前非常有限。未来的版本可能会有更多用户要求的功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-03-26
          • 1970-01-01
          • 2023-01-17
          • 2014-07-05
          • 1970-01-01
          • 2018-04-28
          • 2021-10-14
          相关资源
          最近更新 更多