删除背景颜色时,使用UISearchDisplayController删除行UISearchBar

时间:2013-08-21 09:46:51

标签: ios objective-c uisearchbar uisearchdisplaycontroller

我已经在我的UISearchBar中使用UISearchDisplayController添加了界面构建器UITableView的帮助。我知道如何设置UISearchBar的背景颜色,我这样做:

for (UIView *subview in self.searchBar.subviews) {
        if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

            [subview removeFromSuperview];
        }
    }

但你可以看到,有一条线,我无法理解,以及如何删除它,用搜索栏滚动:

enter image description here

如果我只使用界面构建器插入UISearchbar而没有UISearchDisplayController但没有该行,我该如何删除该行?

2 个答案:

答案 0 :(得分:3)

请改用:

  for (UIView *subview in self.searchDisplayController.searchBar.subviews) {
    if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

      [subview removeFromSuperview];
    }
  } 

当我们使用UISearchDisplayController时,searchBar会与UISearchDisplayController的searchBar属性相关联,并且可以使用self.searchDisplayController.searchBar

进行访问

答案 1 :(得分:1)

我正在使用1px图片,0%不透明度(image)

self.searchDisplayController.searchBar.backgroundImage=[UIImage imageNamed:@"image"] ;

它的工作完美无缺。