我试图创建的导航栏一个搜索栏视图,我想这个搜索栏,以尽快打开的tableView与搜索结果打字开始,一旦隐藏的项目被触摸。 我是新来这个平台,所以我只需要一个道路可走,我不知道从哪里真正开始。
Answer 1:
据我的评论:在继承人深入的解释更。 快乐编码:
。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];
}
Answer 2:
您可以创建一个UISearchBar在顶部,然后一个UITableView(最初是隐藏的)一个视图,并添加到您现有的视图。 隐藏导航栏会给出的外观UISearchController相同。 然后,您可以显示当用户开始搜索在搜索栏中代表表视图。
文章来源: UISearchBar with hidden TableView on NavigationBar