如何显示和隐藏UISearchDisplayController的UISearchBar

Mab KaaKoo

我在导航的右侧有一个按钮搜索。这是我的代码:

UIButton *btnSearch = [UIButton buttonWithType:UIButtonTypeCustom];
btnSearch.frame = CGRectMake(0, 0, 22, 22);
[btnSearch setImage:[UIImage imageNamed:@"search_btn.png"] forState:UIControlStateNormal];
[btnSearch addTarget:self action:@selector(showSearch:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *searchItem = [[UIBarButtonItem alloc] initWithCustomView:_btnSearch];

self.navigationItem.rightBarButtonItems = searchItem ;

这是它的外观。
在此处输入图片说明

我想在单击搜索按钮后显示搜索栏,在单击“取消”后将其关闭,然后向后显示导航栏,但是我不知道如何编码。

- (IBAction)showSearch:(id)sender{
    ???
}

这就是我想要的。 在此处输入图片说明

请帮助或提供一些示例代码。我真的很需要

感谢阅读。

巴拉姆·蒂瓦里

UISearchBar *mySearchBar向您的viewController添加一个属性

@property(nonatomic, retain) UISearchBar *mySearchBar;

顺应UISearchBarDelegate作为

@interface HomeViewController () <UISearchBarDelegate>
...
...
@end

然后将showSearch方法实现

-(void)showSearch:(id)sender {
if(!mySearchBar) {
    mySearchBar = [[UISearchBar alloc] init];
    [mySearchBar setFrame:CGRectMake(0, 0, self.view.frame.size.width, 55)];
    [mySearchBar setShowsCancelButton:YES animated:YES];
    [self.view addSubview: mySearchBar];
    mySearchBar.delegate = self;
    self.navigationController.navigationBarHidden = YES;
}else {
    searchBar.alpha = 1.0;
    self.navigationController.navigationBarHidden = YES;
}

然后将搜索栏委托方法实现为:

 - (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar {
        self.navigationController.navigationBarHidden = NO;
        [mySearchBar setAlpha:0.0];
    }

希望您通过这样做有个主意。您也可以将其直接添加到导航控制器本身,如果需要,然后与“显示/隐藏”一起玩searchBar

您可以将其添加到导航控制器中,只需初始化mysearchBar&将其添加navigationBar为:

   UIBarButtonItem *searchBarItem = [[UIBarButtonItem alloc] initWithCustomView:mySearchBar];
   self.navigationItem.rightBarButtonItem = searchBarItem;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用UISearchBar和UISearchDisplayController

来自分类Dev

隐藏UISearchDisplayController的UISearchBar

来自分类Dev

UISearchBar和/或UISearchDisplayController颜色

来自分类Dev

UISearchBar和/或UISearchDisplayController颜色

来自分类Dev

如何隐藏和显示div

来自分类Dev

UISearchDisplayController结果表与UISearchBar重叠

来自分类Dev

如何显示和隐藏admob标语广告?

来自分类Dev

如何使用CSS显示和隐藏div?

来自分类Dev

如何显示和隐藏特定的div?

来自分类Dev

如何显示和隐藏菜单栏

来自分类Dev

如何隐藏和显示子菜单?

来自分类Dev

如何隐藏和显示div onclick链接

来自分类Dev

如何显示和隐藏菜单栏

来自分类Dev

如何隐藏和显示div onclick链接

来自分类Dev

如何使用JavaScript隐藏和显示菜单?

来自分类Dev

如何隐藏和显示列表内容:ReactJS

来自分类Dev

如何使用 angularjs 显示和隐藏值

来自分类Dev

如何使用 jQuery 隐藏和显示 div

来自分类Dev

如何使用 addEventListener 隐藏和显示

来自分类Dev

如何使用 if 和 else 显示/隐藏标签

来自分类Dev

如何使用jQuery显示隐藏和显示模式弹出窗口

来自分类Dev

如何使用 jquery 和 css 隐藏和显示侧边栏?

来自分类Dev

How to Show and Hide UISearchDisplayController's UISearchBar

来自分类Dev

UISearchControl之下的UIScrollView中的UISearchDisplayController UISearchBar动画

来自分类Dev

隐藏和显示小节

来自分类Dev

隐藏和显示Adview

来自分类Dev

显示和隐藏img

来自分类Dev

显示和隐藏javascript

来自分类Dev

jQuery显示和隐藏