如何通过编程方式设置WKInterfaceController的backgroundColor?

问题描述 投票:10回答:4

我找不到以编程方式更改Watch应用程序界面的整体背景颜色的任何方法。

因此,我尝试创建全屏WKInterfaceGroup并更改其backgroundColor。

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

但是,我仍然没有填充圆角和边界线。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9wT0Z5SS5wbmcifQ==” alt =“在此处输入图像描述”>

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

watchkit
4个回答
10
投票

虽然您可以在情节提要中为WKInterfaceController设置背景色,但没有API可让您在当前的Xcode 6.2 beta 3中以编程方式对其进行设置。

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

但是,重要的是要考虑将在其上运行的硬件。苹果在有关Watch的公开声明中不止一次说过,层压屏幕和边缘之间的交汇处是如此无缝,以至于您基本上无法分辨屏幕的末端和边缘的开始位置。只要在界面生成器中将WKInterfaceController的背景色设置为透明或黑色,就可以将其设置为面值,以使这些边缘为黑色以匹配屏幕周围,那么这些黑线对于最终用户应该是不可见的,并且您可以放心忽略的内容。


5
投票

这是我的做法:

  1. WKInterfaceGroupsetCornerRadius添加到0
  2. 转到WKInterfaceController属性检查器并将左/右插图更改为0(图1)(这将删除左侧和右侧的多余黑线)
  3. 将WKInterfaceGroup的颜色更改为所需的颜色:)

图1

“属性检查器”


3
投票

将WKInterfaceController的inset更改为custom并将其全部设置为0。此外,还将组的角半径也更改为0。享受。


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.