Задействайте преминаване, като натиснете Търсене на клавиатурата

Имам приложение, в което искам потребителят да докосне текстово поле, да въведе своята заявка за търсене и да натисне бутона за връщане (или тук, Търсене) на клавиатурата. Това трябва да задейства преминаване и да изпрати някои данни в метода prepareForSegue до следващия контролер.

Този метод в момента се задейства от UIButton и работи добре, но бих искал точно същото нещо да се случи при натискане на Търсене на клавиатурата, за да мога да премахна бутона и да рационализирам процеса.

Опитах да извикам [self prepareForSegue] в метода textFieldShouldReturn (на делегата), но не работи.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString: @"DisplaySearchResults"]) {
        SearchResultsViewController *searchResultsViewController = [segue destinationViewController];
        searchResultsViewController.searchQuery = _searchQuery;
    }
}

person Luke    schedule 03.11.2012    source източник


Отговори (1)


Трябва да се обадиш

[self performSegueWithIdentifier:@"DisplaySearchResults" sender:self];

в textFieldShouldReturn.

pripravaForSegue ще бъде извикана автоматично след performSegueWithIdentifier.

person Vito Limandibhrata    schedule 03.11.2012
comment
Това ще работи, просто се уверете, че родителският клас е делегат за този UITextField. - person LJ Wilson; 03.11.2012
comment
Можете да задействате настройка на push segue в текстовото поле, просто като скриете клавиатурата. Вижте stackoverflow.com/questions/13837689/ - person Brad M; 03.12.2013