Поиск дисплея контроллера - PullRequest
1 голос
/ 14 марта 2012

Я использую контроллер отображения поиска в своем коде для поиска.Но это дает некоторые проблемы.Когда представление загружено, рамка поиска выходит из поля зрения, но всякий раз, когда я пытаюсь что-то искать, она попадает в нужный мне кадр.Я не могу распознать проблему в моем коде.Я приложил изображения, которые помогут вам лучше понять проблему.

Вот код для поиска:

Прагма mark UISearchDisplayController Методы делегирования

   - (void)handleSearchForTerm:(NSString *)searchTerm
    {
   searchbar.frame = CGRectMake(391, 28, 586, 44);
 [self setSavedSearchTerm:searchTerm];

if ([self searchResults] == nil)
{
    NSMutableArray *array = [[NSMutableArray alloc] init];
    [self setSearchResults:array];
}

[[self searchResults] removeAllObjects];

if ([[self savedSearchTerm] length] != 0)
{
    int i = 0;

    for (NSString *currentString in [[self contentsList]valueForKey:@"name"])
    {
        if ([currentString rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location != NSNotFound)
        {
            [[self searchResults] addObject:currentString];
            [[self searchResults] addObject:[[[self contentsList]objectAtIndex:i] objectForKey:@"id"]];
            [[self searchResults] addObject:[[[self contentsList]objectAtIndex:i] objectForKey:@"category"]];
            NSString *searchcategory = [[[self contentsList]objectAtIndex:i] objectForKey:@"category"];
            [[self searchResults] addObject:[[[self contentsList]objectAtIndex:i] objectForKey:@"flavour"]];
            [[self searchResults] addObject:[[[self contentsList]objectAtIndex:i] objectForKey:@"price"]];
            [[self searchResults] addObject:[[[self contentsList]objectAtIndex:i] objectForKey:@"image"]];
          }
        i++;
       }
   }

}

 - (BOOL)searchDisplayController:(UISearchDisplayController *)controller 
 shouldReloadTableForSearchString:(NSString *)searchString
{
searchbar.frame = CGRectMake(391, 28, 586, 44); 
[self handleSearchForTerm:searchString];
return YES;
}

- (void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller
{
searchbar.frame = CGRectMake(391, 28, 586, 44);
[self setSearchResults:nil];
[self setSavedSearchTerm:nil];
[[self itemstable_ipad]reloadData];
}

-(void)searchmethod
{
searchbar.frame = CGRectMake(391, 28, 586, 44);
[self setContentsList:categoryarray_ipad];
if ([self savedSearchTerm])
   {
    [[[self searchDisplayController] searchBar] setText:[self savedSearchTerm]];
   }
}

enter image description here

enter image description here

Пожалуйста, если у кого-нибудь есть идея, как установить рамку панели поиска, предоставьте мне какое-нибудь решение.

Спасибодля всех.

1 Ответ

0 голосов
/ 21 марта 2012

Спасибо за просмотр моей проблемы.Я решил эту проблему, используя панель поиска программно вместо контроллера отображения поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...