gpt4 book ai didi

ios - UICollectionview 实现搜索

转载 作者:可可西里 更新时间:2023-11-01 05:41:09 26 4
gpt4 key购买 nike

我在 UIViewController 中嵌入了一个 UICollectionview。我还向 UIViewController 添加了一个搜索栏,就像在 UICollectionview 中一样,我不知道通过 Storyboard 把它放在哪里。我原以为在 UICollectionview 中搜索会像在 Tableview 中一样简单。但它似乎有自己的规则。是否有任何好的和简单的示例说明如何在 UICollectionview 中像在 UITableview 中一样实现简单搜索?我想实现用户可以在搜索栏中键入内容并且 UICollectionview 显示结果。我找到了实现 searchbar 的解决方案:

- (void)viewDidLoad
{
[super viewDidLoad];
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.collectionView.frame), 44)];
self.searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
self.searchBar.delegate = self;
[self.collectionView addSubview:self.searchBar];
[self.collectionView setContentOffset:CGPointMake(0, 44)];
}

- (void) viewWillAppear:(BOOL)animated{
// to show search bar
[self.collectionView setContentOffset:CGPointMake(0, 0)];
// to hide search bar
[self.collectionView setContentOffset:CGPointMake(0, 44)];
}

-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:YES animated:YES];
}

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[searchBar setText:@""];
[searchBar setShowsCancelButton:NO animated:YES];
[searchBar resignFirstResponder];
}

这很好用,它显示了一个 searchbar,这是一个好的开始,但现在我再也看不到我的标题了,因为 searchbar 位于标题上方。知道如何将它放在标题上方吗?绿色的是标题。

Searchbar over Headerview

最佳答案

我在我的应用程序中的做法是将顶部内容插入设置为 44,这是我的 ViewDidLoa 中 UISearchBar 的默认高度:

[self.collectionView setContentInset:UIEdgeInsetsMake(44, 0, 0, 0)];

然后我添加 UISearchBar 并将它的 Y 点设置为 -44 和 44 作为高度。

UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, -44, self.view.frame.size.width, 44.0)];
[self.collectionView addSubview:searchBar];

关于ios - UICollectionview 实现搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22940319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com