带导航栏上隐藏的TableView的UISearchBar
我试图用NavigationBar上的searchBar创建一个视图,我希望这个searchBar在打字开始时用搜索结果打开一个tableView,并在物品被触摸时隐藏它。 我对这个平台很陌生,所以我只需要一条路径,我不知道从哪里开始。
根据我的评论:继承人更深入的解释。 快乐编码:
。H
@interface TableViewController : UITableViewController <UISearchBarDelegate>
@property (strong, nonatomic) UISearchBar *searchBar;
@end
.M
- (void) viewDidLoad:(BOOL)animated {
UIView *searchbarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)]; //This adds a container that will hold the search bar.
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
self.searchBar.delegate = self;
[searchbarView addSubview:self.searchBar];
self.tableView.tableHeaderView = searchbarView; //Inserts UIView into the header of self.tableView
[self.tableView setContentOffset:CGPointMake(0, 44)];
}
这就是它。 如果你想自定义其他的东西,如键盘布局和方式文本填充和颜色和字体和占位符文本等,你可以编辑它在viewDidLoad或创建一个子类
编辑我已经在下面包含了一些用于定制的示例代码:
self.searchBar.keyboardAppearance = UIKeyboardAppearanceDark;
self.searchBar.returnKeyType = UIReturnKeySearch;
self.searchBar.searchBarStyle = UISearchBarStyleProminent;
self.searchBar.barTintColor = [UIColor lightGrayColor];
self.searchBar.placeholder = @"Search for queries here";
self.searchBar.showsCancelButton = YES;
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor blueColor],
NSForegroundColorAttributeName,
nil]
forState:UIControlStateNormal];
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
self.searchBar.showsCancelButton = NO;
[self.searchBar resignFirstResponder];
}
您可以使用顶部的UISearchBar创建一个视图,然后创建一个UITableView(最初隐藏)并将其添加到您现有的视图。 隐藏导航栏会获得与UISearchController相同的外观。 然后,您可以在用户开始搜索时在搜索栏中显示表格视图委托。
链接地址: http://www.djcxy.com/p/44273.html