2012-03-14 15 views
1

検索用コントローラに検索用コントローラを使用しています。しかし、それはいくつかの問題を与えている。ビューが負荷の検索バーのフレームがビューから外れていますが、何かを検索しようとしているときはいつでも、必要な適切なフレームが表示されます。自分のコードで問題を認識できません。私は問題をより明確にするイメージを添付しました。ディスプレイコントローラのフレームを検索

プラグママーク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

0:ここ

は、検索のためのコードであります

誰かが検索バーフレームを設定する方法を知っていれば、私にいくつかの解決策を教えてください。

ありがとうございます。

答えて

0

私の問題をご覧いただきありがとうございます。私はこの問題を解決するために、サーチバーをサーチディスプレイコントローラの代わりにプログラムで使用しました。

関連する問題