如何以编程方式设置WKInterfaceController的背景颜色?

时间:2014-12-30 00:48:30

标签: watchkit

我无法以编程方式找到改变Watch应用界面整体背景颜色的方法。

因此我尝试创建一个全屏WKInterfaceGroup并更改它的backgroundColor。

    centralGroup.setBackgroundColor(UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0))

但是,我仍然在边框上留下未填充的圆角和线条。

enter image description here

有没有办法实现我的目标,填充屏幕的边缘到边缘的背景颜色?

4 个答案:

答案 0 :(得分:10)

虽然您可以在故事板中为WKInterfaceController设置背景颜色,但是没有API可以让您以编程方式在当前的Xcode 6.2 beta 3中设置它。

但是,您可以创建一个全屏WKInterfaceGroup并以编程方式设置该颜色。如果您还setCornerRadius:为0,则会得到以下结果: Apple watch screen with screen filled with green 显然,这里边缘仍有黑线。另一种可能性是将纯色图像设置为背景可能会缩放以使用其中一个缩放选项填充整个屏幕,但我对此进行了测试,结果与上述相同。

但是,考虑运行的硬件非常重要。 Apple在关于Watch的公开声明中不止一次地说过,层压屏幕和边缘之间的交叉是如此无缝,以至于你基本上无法分辨屏幕的终点和边缘的开始。以面值表示,只要在界面构建器中将WKInterfaceController的背景颜色设置为clear或black,以使这些边缘为黑色以匹配屏幕环绕,那么这些黑线对于最终用户应该是不可见的并且是你可以放心忽略的东西。

答案 1 :(得分:5)

我就是这样做的:

  1. WKInterfaceGroupsetCornerRadius添加到0
  2. 转到WKInterfaceController属性检查器并将左/右插图更改为0(图1)(这将删除左侧和右侧的额外黑线)
  3. 将WKInterfaceGroup的颜色更改为您想要的颜色:)
  4. <强>图1

    Attribute Inspector

答案 2 :(得分:3)

将WKInterfaceController的insets更改为custom并将all设置为0.此外,将group的corner radius更改为0。享受。

答案 3 :(得分:1)

尝试将WKInterfaceGroup的转角半径更改为0.您可以使用setCornerRadius:更改转角半径。