添加一个UISegmentedControl到UISearchBar而不是范围按钮
问题描述:
我想在我的UISearchBar下面添加范围按钮。不过,我无法更改内置范围按钮的色调。添加一个UISegmentedControl到UISearchBar而不是范围按钮
相反,我添加了一个UISegmentedControl到我的tableViewHeader。这工作得不错,但它只显示当我而不是键入到UISearchbar。不是很方便。
当我在UISearchBar中输入文本时,表格和分段控件被“无结果显示”半透明黑图层隐藏起来。一旦结果开始显示我的分段控制完全消失,并且只显示结果的单元格。
我想让分段控件在文本输入到搜索栏时可点击。
你知道有什么办法可以做到以下几点吗?
- 化妆正在输入文本时,UISegmentedControl用的UISearchBar移动,或
- 显示UISegmentedControl,而搜索结果将显示在UITableView的
谢谢
答
尝试
@implementation UISearchBar (subviewAccess)
- (UISegmentedControl *)scopeBar {
for (UIView *v in [self subviews]) {
if ([v isKindOfClass:[UISegmentedControl class]])
return v;
}
return nil;
}
@end
得到你想要的分段控制的保持,并从那里 着色工作(这是目前指数0,但是这绝对不是肯定的)
有没有使用“私有API”,所以苹果应该 但是请注意,如果他们改变了他们的视图布局(不太可能),这可能会中断, 这会让你的色彩消失的副作用,你应该通过标准搜索栏API
嗨@bhirley,谢谢,不过我已经尝试过了。这似乎将范围按钮更改为正常的UISegmentedControl,但高度已经不足了。我也尝试单独访问每个UISegment,但即使它响应setTintColor方法,颜色也不会改变。有任何想法吗? – pchap10k 2011-06-06 01:01:39
在iOS 5中有很多组件的附加着色支持,如果这是任何安慰 – bshirley 2011-06-07 02:46:39