Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 删除背景色时,使用UISearchDisplayController删除行UISearchBar_Ios_Objective C_Uisearchbar_Uisearchdisplaycontroller - Fatal编程技术网

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

Ios 删除背景色时,使用UISearchDisplayController删除行UISearchBar,ios,objective-c,uisearchbar,uisearchdisplaycontroller,Ios,Objective C,Uisearchbar,Uisearchdisplaycontroller,在界面生成器的帮助下,我在我的UITableView中添加了一个UISearchBar和UISearchDisplayController。我知道如何设置UISearchBar的背景色,我是这样做的: for (UIView *subview in self.searchBar.subviews) { if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { [s

在界面生成器的帮助下,我在我的
UITableView
中添加了一个
UISearchBar
UISearchDisplayController
。我知道如何设置
UISearchBar
的背景色,我是这样做的:

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

            [subview removeFromSuperview];
        }
    }
但你可以看到,有一行,我不明白,如何删除它,与搜索栏滚动:

如果我使用interface builder仅插入一个
UISearchbar
,而没有
UISearchDisplayController
,则如何删除该行?

使用以下命令:

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

      [subview removeFromSuperview];
    }
  } 
当我们使用
UISearchDisplayController
时,搜索栏与UISearchDisplayController的searchBar属性相关联,可以使用
self.searchDisplayController.searchBar
使用以下内容:

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

      [subview removeFromSuperview];
    }
  } 

当我们使用
UISearchDisplayController
时,搜索栏与UISearchDisplayController的searchBar属性相关联,可以使用
self.searchDisplayController.searchBar
访问。我使用的是不透明度为0%的1px图像


而且它的工作方式完全符合您的要求。

我使用的是1px图像,不透明度为0%


而且它的工作方式完全符合您的要求。

是的,我刚刚试过。它删除了搜索栏的背景视图。为什么在self.searchBar这一行没有出现编译错误?您是否创建了单独的属性并将搜索栏从nib连接到您的属性?我已将带有displaycontroller的uisearchbar添加到interface builder中的uitableview,然后从interface builder连接到所有者视图…当您将搜索栏和搜索显示控制器从对象库拖动到nib时,您将获得一个与搜索显示控制器关联的搜索栏。在这种情况下,搜索栏与SearchDisplayController对象链接,您可以通过self.SearchDisplayController.searchBar访问该对象。您不需要为搜索栏属性创建单独的IBOUTLET。这违背了使用SearchDisplayController的目的。事实上,甚至不要为搜索显示控制器创建IBOutlet,因为它是自动完成的。我理解,我删除了所有,我重新开始,我在interface builder中将UISearchBar和UISearchDisplayController添加到uitableview中,我还没有创建任何IBOutlet,我在答案中使用了您的代码,行仍然存在……是的,我刚试过。它删除了搜索栏的背景视图。为什么在self.searchBar这一行没有出现编译错误?您是否创建了单独的属性并将搜索栏从nib连接到您的属性?我已将带有displaycontroller的uisearchbar添加到interface builder中的uitableview,然后从interface builder连接到所有者视图…当您将搜索栏和搜索显示控制器从对象库拖动到nib时,您将获得一个与搜索显示控制器关联的搜索栏。在这种情况下,搜索栏与SearchDisplayController对象链接,您可以通过self.SearchDisplayController.searchBar访问该对象。您不需要为搜索栏属性创建单独的IBOUTLET。这违背了使用SearchDisplayController的目的。事实上,我甚至不为搜索显示控制器创建IBOutlet,因为它是自动完成的。我理解,我删除了所有,我重新开始,我在interface builder中将UISearchBar和UISearchDisplayController添加到uitableview中,我还没有创建任何IBOutlet,我在答案中使用了您的代码,行仍然存在。。。