【问题标题】:UISearchBar scopebar tint color issueUISearchBar scopebar tint color 问题
【发布时间】:2013-01-02 11:15:56
【问题描述】:

在使用带有范围栏的 uisearchbar 时,范围栏的色调在 iOS 4.3 中没有更新。在剩余的 iOS 版本中,它运行良好。我在这里展示了该示例的屏幕截图。请有任何解决此问题的想法。@987654321 @

【问题讨论】:

  • 你是怎么上色的?以编程方式,还是在 IB 中?如果可能的话,我建议发布您正在使用的代码
  • 通过 IB 我已经做到了
  • @SURESHSANKE 只搜索searchbar的subview,其中UISeagmentControl然后改变颜色,这是searchbar的scopebar

标签: iphone ios ios4 cocos2d-iphone


【解决方案1】:
for (id subview in yourSearchDisplayController.searchBar.subviews )
{
    if([subview isMemberOfClass:[UISegmentedControl class]])
    {
        UISegmentedControl *scopeBar=(UISegmentedControl *) subview;
        [scopeBar setSegmentedControlStyle:UISegmentedControlStyleBar];
        [scopeBar setTintColor: [UIColor redColor]];//you can also set RGB color here 
        //scopeBar.tintColor =  [UIColor blackColor];         
    }
}

另请参阅此链接中我的答案以修改 UISearchBar 组件

How to change inside background color of UISearchBar component on iOS

【讨论】:

  • 即使我尝试使用此代码,它对我也不起作用。iOS 4.3 它无法更改范围栏的色调。
  • @SURESHSANKE 嗨,伙计,我将模拟器从 5.1 更改为 4.3,它的显示颜色不同,我设置了 reedcolor,它的显示为 redcolor 伙计
  • 是的,它正在工作,谢谢你。我忘了设置样式然后它不起作用。谢谢你。
【解决方案2】:

如果我没记错的话,不可能改变范围栏的色调。一种解决方案可能是搜索搜索栏的所有子视图并找到范围栏对象并尝试修改其背景。但这可能会导致您修改私有财产,因此可能无法接受。我试图这样做,但我放弃了它,不知道为什么。

其他不太干净的解决方案是自己实现范围栏并将其作为子视图添加到搜索栏并阻止原始范围栏。仅对 iOS 4.3 或更低版本执行此操作。

【讨论】:

    【解决方案3】:

    更改色调颜色以更改范围栏的颜色。注意 BarTintColor 不同 - 这将改变搜索栏的颜色。

    【讨论】:

      猜你喜欢
      • 2012-07-10
      • 1970-01-01
      • 2023-04-06
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 2015-06-01
      相关资源
      最近更新 更多