设置搜索栏范围的背景颜色
Posted
技术标签:
【中文标题】设置搜索栏范围的背景颜色【英文标题】:Set background color for scope of searchbar 【发布时间】:2014-07-18 08:51:02 【问题描述】:UISearchbar
视图有一个默认的灰色区域。向下滚动时,我们可以看到灰色区域。我需要为灰色区域设置backgroundColor
。
我已将 UISearchBar
添加到 UITableView
标头。并且UITableView
中有一个刷新控件。现在的问题是当我拉下刷新控件时它看起来很奇怪。因为刷新控件采用表格视图的背景(白色),而搜索视图采用默认的backgroundColor
(灰色)。
如果我将backgroundColor
设置为UISearchbar
,则它仅适用于UISearchBar
,而不适用于UISearchBar
的范围。有了这个结果,我在想灰色区域是否属于哪个视图。我敢肯定没有多余的风景。我已将颜色设置为 tableview
、refresh view
、UISearchBar
和 self.view
,但注意适用于灰色区域。
谢谢,
【问题讨论】:
[SearchItem setBackgroundColor:[UIColor redColor]]; @KiritModi,正如我所提到的,如果我为搜索栏设置背景,它只适用于视图周围而不是范围。 @All,下面的行解决了我的问题,但不知道如何:) [tableview setBackgroundView:[UIImageView new]]; UIView 也可以代替 UIImageView。基本上设置一个无色的背景视图,这样就不会影响其他视图。 【参考方案1】:在放置灰色区域的searchbar
内添加view
。将其命名为 searchBarView
或您喜欢的名称。
self.scrollView.searchBarView.backgroundColor = [UIColor yourcolor];
应该做的伎俩
【讨论】:
感谢您的回复!我没有添加任何滚动视图,滚动我的意思是默认的tableview滚动。 在里面添加另一个视图,并使用CGRect动态定位它或通过故事板静态放置它并执行上述操作。如果它解决了你的问题,请在答案旁边打勾:)谢谢【参考方案2】:searchbar = [[UISearchBar alloc]initWithFrame:CGRectMake(27, -5, 143, 44)];
searchbar.tag = indexPath.row+1;
searchbar.delegate = self;
searchbar.backgroundColor = [UIColor clearColor];
if (IS_ios_7)
[searchbar setBarTintColor:[UIColor clearColor]];
else
[[ [searchbar subviews] objectAtIndex:0] removeFromSuperview];
【讨论】:
【参考方案3】:对于透明scope bar
,将带有Alpha 的1Pixel PNG 添加到范围栏。
否则保持白色,即使是透明的 searchBar 背景。
【讨论】:
以上是关于设置搜索栏范围的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章