我正在尝试将搜索栏添加到我的收藏视图中。我要实现的是使用- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
方法过滤数据。
当我使用表格视图时,一切正常。在表格视图中,当我添加UISearchBar
usingaddSubView
方法时,我得到了几乎相同的警告,但是当我添加UISearchBar
usingsetTableHeaderView
方法时它消失了。
但是在集合视图中,不存在与表格视图执行相同的方法。所以我添加UISearchBar
到补充标题视图中,如下所示:
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
UICollectionReusableView *reusableView;
if (kind == UICollectionElementKindSectionHeader) {
reusableView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"HeaderView" forIndexPath:indexPath];
[reusableView addSubview:self.searchBar];
}
return reusableView;
}
当我UISearchBar
通过这种方式添加对象时,我收到警告,“设置集合视图的第一响应者视图但我们不知道它的类型(单元格/页眉/页脚)?” 每次我点击搜索栏。
除了警告之外,它似乎工作正常,但是当我输入一些东西时我遇到了问题。如果我输入一个字母,键盘输入视图就会下降,所以我必须再次点击搜索栏才能继续搜索。如果我要搜索的单词是 5 个字母的单词,我必须点击搜索栏 4 次。太糟糕了。
我认为这是因为警告而发生的。我搜索了警告上下文,并找到了与此相关的唯一一篇关于 stackoverflow 的文章。(其他文章与表格视图有关。所有这些似乎都通过使用来修复setTableHeaderView
。)
文章是这样的。
但是我没有注册iOS开发者计划,所以我看不懂那篇文章。有没有人愿意帮我解决这个问题?