1

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

4

3 回答 3

2
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组件

如何在 iOS 上更改 UISearchBar 组件的内部背景颜色

于 2013-01-02T11:31:27.093 回答
1

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

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

于 2013-01-02T11:22:58.077 回答
1

在此处输入图像描述

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

于 2015-02-26T12:16:30.280 回答