Ios UISearchBar取消按钮可见但不起作用
我的问题与相同,只是解决方案在我的情况下不起作用 我创建了一个带有导航控制器和表视图控制器的故事板项目。我在表视图中添加了一个UISearchDisplayController,在尝试访问searchDisplayController之前,所有这些都可以正常工作,如下面代码段中所示。我正在使用一个节索引,并将UITableViewIndexSearch或@{search}添加到节标题的顶部,以便放大镜显示在a-Z索引的开头。单击节索引时,将调用以下函数:Ios UISearchBar取消按钮可见但不起作用,ios,objective-c,ios7,uisearchdisplaycontroller,Ios,Objective C,Ios7,Uisearchdisplaycontroller,我的问题与相同,只是解决方案在我的情况下不起作用 我创建了一个带有导航控制器和表视图控制器的故事板项目。我在表视图中添加了一个UISearchDisplayController,在尝试访问searchDisplayController之前,所有这些都可以正常工作,如下面代码段中所示。我正在使用一个节索引,并将UITableViewIndexSearch或@{search}添加到节标题的顶部,以便放大镜显示在a-Z索引的开头。单击节索引时,将调用以下函数: - (NSInteger) tableV
- (NSInteger) tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
if ([title isEqualToString:UITableViewIndexSearch])
{
[self.searchDisplayController setActive:TRUE animated:TRUE]; // Either of these two lines
[self.searchDisplayController.searchBar becomeFirstResponder]; // will cause the search bar cancel button to not work
return 0;
}
return index - 1;
}
如果我注释掉访问searchDisplayController的两行,则搜索栏取消按钮将按预期工作。如果代码中没有注释掉这两行中的任何一行,那么搜索栏上的“取消”按钮就好像它根本不在那里一样。删除becomeFirstResponder行意味着我必须单击/触摸搜索栏字段以将焦点转移到它,因此在这种情况下,当我单击取消按钮时,搜索栏将获得焦点。这就好像“取消”按钮可以通过搜索栏透明地看到,但无法单击/触摸。取出这两行代码,取消按钮再次工作
到底发生了什么事