2015-03-19 3 views
0

У меня есть UISearchBar, и когда пользователь нажал кнопку поиска на клавиатуре, я хочу загрузить результаты в другой ViewController, который у меня есть, но когда я нажимаю кнопку «Поиск», ничего не происходит.Загрузите другой ViewController с UISearchBar

Вот мой код:

#import "BuscadorViewController.h" 
#import "EventosViewController.h" 

@interface BuscadorViewController()<UISearchBarDelegate> 

@end 

@implementation BuscadorViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
} 

#pragma mark - UISearchBarDelegate Methods 

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 

    [self loadViewResults]; 
} 

#pragma mark - Methods 
-(void)loadViewResults 
{ 
    NSString *title = self.searchBar.text; 
    EventosViewController *evc = [self.storyboard instantiateViewControllerWithIdentifier:@"listaEventosID"]; 
    evc.parametro = title; 
    [self.navigationController presentViewController:evc animated:YES completion:nil]; 
    // [self.navigationController pushViewController:evc animated:YES]; 
} 
  • клавиатура скрывает отлично.

Любая помощь была бы действительно оценена. Благодарю.

+0

Я не видел никого, где вы установили делегата ..? –

+0

Да, я установил делегат в StoryBoard, а также поместил эту строку в viewDidLoad, но ничего не происходит. Спасибо вам. – isaiasmac

+0

вам нужно поставить точку останова на «loadviewresults» и убедиться, что контроллер evc не равен нулю. –

ответ

0

Я не видел никого, где вы установили делегат. Вам нужно установить делегат для этого.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.searchBar.delegate = self; 
} 

, а также использовать ниже код, конечно, это будет work..Make уверен, что вы должны установить отношения вид контроллера в раскадровку.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"listaEventosID"]) { 
      NSString *title = self.searchBar.text; 
       evc.parametro = title; 
    } 
} 

-(void)loadViewResults 
{ 
    [self performSegueWithIdentifier:@"listaEventosID" sender:nil]; 
} 
+0

Это работает! Мне нужно установить отношения с BuscadorViewController на EventosViewController в StoryBoard. – isaiasmac

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