iOS:REMOVING以编程方式从导航栏添加搜索栏

时间:2014-09-12 19:56:35

标签: ios uinavigationbar uisearchbar

方案

在我的应用程序中,有一个导航栏,右上角有一个“放大镜”图标。当用户点击此图标时,导航栏的titleView将被UISearchBar替换。

我使用此代码添加了searchBar ...

    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 320.0, 44.0)];
    searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 310.0, 44.0)];
    searchBarView.autoresizingMask = 0;
    searchBar.delegate = self;
    [searchBarView addSubview:searchBar];
    self.navigationItem.titleView = searchBarView;

所有这一切都完美无缺。现在,当用户结束对UISearchBar的编辑并再次用titleView的“标题”替换时,我需要让UISearchBar消失。

问题

如何删除UISearchBar并在编辑后显示导航控制器的标题?

2 个答案:

答案 0 :(得分:0)

试试这个,

searchBar.hidden = Yes;

答案 1 :(得分:0)

我还没有测试过,但这应该有效:

[self.navigationItem.titleView removeFromSuperview];
self.title = @"Nav bar title";