我在tableview中使用searchDisplayController。我有功能,我现在正在配置UI。
我希望搜索栏(包括范围栏)为红色,文本为白色。我是通过Interface Builder完成的,看起来很好。
构建它时,它看起来像这样(忽略tableview中的白色块):
颜色应该是这样的,Interface Builder会生成它。
搜索栏是半透明的。我在搜索栏中取消选中Translucent。
阅读this回答,我尝试了
self.searchDisplayController.searchBar.translucent = NO;
在我的viewDidLoad和viewWillAppear中。不幸的是,两者都没有效果。
似乎没有任何效果。我在iOS7和iOS7.1下试过这个。
任何帮助都会很棒。
答案 0 :(得分:1)
以下内容适用于我使搜索栏变为不透明的红色:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(10,10), YES, 0);
CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(), [UIColor redColor].CGColor);
CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0,0,10,10));
UIImage* red = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
searchBar.backgroundImage = red;
它适用于我,包括你的情况,即属于具有表视图控制器的UISearchDisplayController的搜索栏。