4

UISearchDisplay に問題があります。内部に uisearchdisplay を持つ tableview を持つビューコントローラーがあり、iPhone ではすべて完全に動作しますが、iPad では少し問題があります。ビューコントローラーを子として追加します。

self.tableViewController = [[TableViewController alloc] initWithNibName:@"TableViewController" bundle:nil];
    self.tableViewController.obj = nil;
    self.tableViewController.isSearch = YES;

    self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.tableViewController];
    self.navigationController.view.frame = self.tableViewContent.bounds;

    [self addChildViewController:self.navigationController];
    [self.tableViewContent addSubview:self.navigationController.view];

しかし、検索バーをクリックすると、次のようになります。

ここに画像の説明を入力

検索バーの上の空白スペース、間違いはどこですか? ここで uisearchdisplay/uisearchbar のコード

self.searchBar = [[UISearchBar alloc] init];
[self.searchBar setAutocapitalizationType:UITextAutocapitalizationTypeNone];
[self.searchBar setPlaceholder:@"Type a search term" ];
[self.searchBar setTintColor:[UIColor blackColor]];
[self.searchBar setDelegate:self];
[self.searchBar sizeToFit];
[self.tableView setTableHeaderView:self.searchBar];


self.searchDisplay = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar
                                                       contentsController:self];
[self.searchDisplay setDelegate:self];
[self.searchDisplay setSearchResultsDataSource:self];
[self.searchDisplay setSearchResultsDelegate:self];


[self.tableView setContentOffset:CGPointMake(0,44) animated:NO];

また、使用しようとすると

[self.searchDisplay setDisplaysSearchBarInNavigationBar:YES];

検索表示が機能しません。フィルター方法は問題ありませんが、レーブルは更新されません (そして、黒/透明な背景はありません)

4

3 に答える 3

0

このコードは私を助けました!

    if([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])
{
    self.edgesForExtendedLayout = UIRectEdgeNone;

}
于 2014-09-20T16:15:53.640 に答える
0

私のために修正:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self updateSignInButton];

    // Choose #1 or #2
    // #1 Not hiding the search bar
    [self.tableView setContentInset:UIEdgeInsetsZero];

    // #2 Hiding the search bar
    //[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
}
于 2016-03-30T15:50:43.260 に答える