2013-11-12 3 views
0

Я использую контроллер UItableView, я не могу добавить панель поиска в панель навигации. я хочу, чтобы поисковая панель появилась, когда нажата кнопка поиска на панели навигации. Как добавить кнопку поиска и строку поиска на панели навигации.Хотите добавить панель поиска на панели навигации, когда кнопка поиска нажата на панели навигации

+0

Вы используете раскадровки или иметь его в коде? – Kuba

+0

Я использую раскадровку – Vishal

ответ

-1

Для кнопки поиска вы можете использовать UIBarButtonSystemItemSearch, если это необходимо.

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
           initWithBarButtonSystemItem:UIBarButtonSystemItemSearch 
           target:self 
           action:@selector(actionSearch:)]; 

и вы можете установить SearchBar как вид титульной Панели навигации

self.navigationItem.titleView = mySearchBar; 
0

добавить это при нажатии кнопки мыши => .m файл:

UISearchBar *sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,10,self.navigationController.navigationBar.bounds.size.width,self.navigationController.navigationBar.bounds.size.height/2)]; 
sBar.delegate = self; 
[self.navigationController.navigationBar addSubview:sBar]; 

и добавить => .h файл

@interface ViewController : UIViewController<UISearchBarDelegate> 
0

, чтобы сделать поискba Для этого вам нужно вставить Button в контроллер навигационной панели и установить фоновое изображение как search.png (ваше изображение). поэтому, когда пользователь нажмет на эту кнопку, установите цель, так как searchbar будет открыт. пожалуйста, проверьте ниже код для справки.

Прежде всего, установите делегатский метод в вас .h файл.

@interface FriendsViewController : UIViewController <UISearchDisplayDelegate,UISearchBarDelegate,UIAlertViewDelegate> 
@property (nonatomic, strong) UIButton *searchButton; 
@property (nonatomic, strong) UIBarButtonItem *searchItem; 
@property (nonatomic, strong) UISearchBar *searchBar; 
@property (strong, nonatomic) UISearchController *searchController; 
@property (strong, nonatomic) UISearchDisplayController *d1; 

затем введите кнопку в своем навигационном баре.

- (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 
UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(279,9,25, 25)]; 
[btn setImage:[UIImage imageNamed:@"search"] //put here your searchimage 
forState:UIControlStateNormal]; 
[btn setTitle:@"" forState:UIControlStateNormal]; 
[btn addTarget:self action:@selector(clickme:) forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *barbtn=[[UIBarButtonItem alloc]initWithCustomView:btn]; 
self.tabBarController.navigationItem.rightBarButtonItem=barbtn; 
[self.tabBarController.navigationController.navigationBar setHidden:NO]; 

Теперь вы должны установить searchcontroller на clickme ваш метод кнопки.

- (IBAction)clickme:(id)sender{ 
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 300, 44.0)]; 
searchBar.autoresizingMask =0; 
searchBar.delegate = self; 
searchBar.placeholder = @"Search for items..."; 
searchBar.showsScopeBar=YES; 

UIView *searchBarWrapper = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 44)]; 
searchBarWrapper.autoresizingMask = 0; 
[searchBarWrapper addSubview:searchBar]; 

self.searchItem = [[UIBarButtonItem alloc] initWithCustomView:searchBarWrapper]; 
self.tabBarController.navigationItem.leftBarButtonItem = self.searchItem; 

self.navigationItem.rightBarButtonItem = nil; 
self.navigationItem.titleView = nil; 

    ////////////// ~ Search Display Controller as Object ~///////////////////////////// 

self.d1 = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; 
self.d1.delegate = self; 
self.d1.searchResultsDataSource = self; 
self.d1.searchResultsDelegate = self; 
self.d1.searchResultsTableView.rowHeight = 40; 
self.d1.displaysSearchBarInNavigationBar = YES; 
self.searchBar.translucent = NO; 
self.searchBar.barTintColor = [UIColor grayColor]; 
self.d1.searchBar.tintColor = [UIColor blueColor]; 

[searchBar sizeToFit]; 

} 

Barbutton

при нажатии на значок поиска

enter image description here

Смежные вопросы