【问题标题】:How to change white background when UISegmentedControl focused?UISegmentedControl 聚焦时如何更改白色背景?
【发布时间】:2020-08-19 15:55:04
【问题描述】:

如果 UISegmentedControl 获得焦点,我会尝试更改段中的白色背景颜色。 请看以下截图:

而且我需要将这种白色背景颜色更改为透明色。像这样的东西:

所以我创建了 UISegmentedControl 和 ovveride didUpdateFocus(in:with:) 的子类 请看下面的截图:

但在那之后焦点不再改变,我无法跳转到 UISegmentedControl 的下一部分。

我看到了类似的问题here,但我没有成功。

它是 tvOS,部署目标是 11.1。

这是为什么呢? 聚焦时更改背景颜色的更好方法是什么? 请帮帮我。

【问题讨论】:

  • 如果我使用super.didUpdateFocus(in: context, with: coordinator),那么焦点引擎可以工作,但分段控件中的片段像第一个屏幕截图一样以白色突出显示。

标签: swift tvos uifocusguide


【解决方案1】:

也许我误解了您的问题,但您是否尝试过更改 segmentControl.selectedSegmentTintColor 属性?

【讨论】:

    【解决方案2】:

    我通过将UISegmentControl 替换为UICollectionView 解决了这个问题。

    【讨论】:

      【解决方案3】:

      试试这个方法(在初始化阶段):

       segment.selectedSegmentTintColor = .clear
      

      此处段:UISegmentedControl

      【讨论】:

      • 没有帮助
      猜你喜欢
      • 2011-09-10
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      相关资源
      最近更新 更多