用的UISearchBar导航栏上隐藏的TableView(UISearchBar with hid

2019-11-03 12:48发布

我试图创建的导航栏一个搜索栏视图,我想这个搜索栏,以尽快打开的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