业务需求中常常需要自定义SearchBar的样式,从最开始的剖析UISearchBar结构,改变UISearchBar暴露的属性,到后来的自定义View替代UISearchBar。
最近交互要求实现微信首页的那种搜索框效果(也就是系统UISearchBar在UITableView上的效果),经过一番百度加谷歌,得到最简单、问题最小的解决方案:
其实tableView对UISearchBar开了后门,只要是UISearchBar,那么就有这个特权
自定义UIView中重写isKindOfClass方法,用来欺骗UITableView(风险为有可能会影响其他判断)
- (BOOL)isKindOfClass:(Class)aClass
{
if (aClass == [UISearchBar class]) { //欺骗UITableView 让它认为这是一个UISearchBar
return YES;
}
return [super isKindOfClass:aClass];
}
原文链接 - 方案二 UITableView对UISearchBar开了后门
网友评论