Iphone UI搜索栏范围栏着色颜色问题

Iphone UI搜索栏范围栏着色颜色问题,iphone,ios,ios4,cocos2d-iphone,Iphone,Ios,Ios4,Cocos2d Iphone,当将uisearchbar与范围栏一起使用时,范围栏的色调在iOS 4.3中没有更新。在其余iOS版本中,它工作得很好。我在这里显示了该示例的屏幕截图。请给出解决此问题的任何想法。如果我没记错,则无法更改范围栏的色调。一种解决方案是搜索搜索栏的所有子视图,找到范围栏对象并尝试修改其背景。但这可能会导致您修改私有财产,因此这可能是不可接受的。我试图走这条路,但我放弃了,不知道为什么 另一个不太干净的解决方案是自己实现范围栏,将其作为子视图添加到搜索栏中,并阻止原始范围栏。仅对iOS 4.3或更低版

当将uisearchbar与范围栏一起使用时,范围栏的色调在iOS 4.3中没有更新。在其余iOS版本中,它工作得很好。我在这里显示了该示例的屏幕截图。请给出解决此问题的任何想法。

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


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

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

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];         
    }
}
另一个不太干净的解决方案是自己实现范围栏,将其作为子视图添加到搜索栏中,并阻止原始范围栏。仅对iOS 4.3或更低版本执行此操作

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

另请参见此链接中的我的答案,了解如何修改
UISearchBar
组件

更改颜色以更改范围栏的颜色。注意:BarIntColor不同-这将更改搜索栏的颜色。


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

如何着色?编程的,还是IB的?如果可能的话,我建议通过IB发布您正在使用的代码that@SURESHSANKE只需搜索searchbar的子视图,其中有UISeagmentControl,然后更改其颜色,这是searchbar的scopebar您如何着色?编程的,还是IB的?如果可能的话,我建议通过IB发布您正在使用的代码that@SURESHSANKE只需搜索searchbar的子视图,其中包含UISeagmentControl,然后更改其颜色,这是SearchBare的scopebar即使我用这段代码尝试过,但它对我不起作用。iOS 4.3它无法更改scopebar的色调。@SURESHSANKE hi dude not我将我的模拟器从5.1更改为4.3,它的显示不同的颜色我设置了reedcolor,它的显示为redcolor Dudea它正在工作josh谢谢你。我忘了设置样式,然后它就开始了不起作用。谢谢。即使我尝试使用此代码,它对我也不起作用。iOS 4.3它无法更改范围栏的色调。@SURESHSANKE hi dude not我将我的模拟器从5.1更改为4.3,它的显示不同颜色我设置了reedcolor,它的显示为redcolor Dudea。它起作用了josh谢谢你。我忘了设置样式,然后它就不起作用了工作。谢谢你。