带导航栏上隐藏的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

上一篇: UISearchBar with hidden TableView on NavigationBar

下一篇: Keyboard NOT displaying when touched