【发布时间】:2014-08-08 07:09:03
【问题描述】:
我在导航栏上添加搜索栏,在 iOS 7 中,使用searchVC.displaysSearchBarInNavigationBar = YES;,
它按预期将其添加到导航栏上并且工作正常。
现在,我想在导航栏上添加一个子视图。添加子视图时,我想修改导航栏,即从导航栏中删除搜索栏并在导航栏上添加一些标题。但是,无法删除搜索栏。
尝试了很多从导航栏中删除搜索栏,但徒劳无功。
到目前为止我遵循的方法是:
-
将 displaySearchBarInNavigationBar 属性设置为 NO
searchVC.displaysSearchBarInNavigationBar = NO; -
设置导航标题也不行。
self.navigationItem.title = @"Some Title";
-
在navigationItem的titleView中添加自定义标签视图:
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 169, 44)]; lbl.backgroundColor = [UIColor clearColor]; lbl.textColor = [UIColor whiteColor]; lbl.textAlignment = NSTextAlignmentCenter; lbl.font = FontText_20; lbl.text = @"绘制区域"; self.navigationItem.titleView = lbl;
我使用以下代码将搜索栏添加到导航栏:
- (void)setupSearchBar {
// setup search bar
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 160, 44.0)];
searchBar.placeholder = @"Address / City / Zip";
searchBar.delegate = self;
searchBar.showsCancelButton = YES;
// setup search bar viewcontroller
searchVC = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchVC.delegate = self;
searchVC.searchResultsDataSource = self;
searchVC.searchResultsDelegate = self;
searchVC.displaysSearchBarInNavigationBar = YES;
}
【问题讨论】:
-
searchVC.displaysSearchBarInNavigationBar =NO;对于特定的视图控制器试试这个
-
@Rushabh:你没有仔细阅读问题。我已经提到我尝试过“searchVC.displaysSearchBarInNavigationBar =NO”...
标签: objective-c ios7 uisearchbar uisearchbardisplaycontrol