0

次のコードを使用して検索バーを非表示にします。

- (void)updateContentOffset
{
    self.tableView.contentOffset = CGPointMake(0, 44);
}

- (void)viewWillAppear:(BOOL)animated
{
    NSLog(@"%s",__PRETTY_FUNCTION__);
    [super viewWillAppear:animated];
    [self searchBarShouldEndEditing:self.searchDisplayController.searchBar];
    [self performSelector:@selector(updateContentOffset) withObject:nil afterDelay:0.0];

    self.fetchedResultsController.delegate = self;
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    [self.fetchedResultsController performFetch:nil];
    [self.tableView reloadData];

    [self.tableView scrollRectToVisible:CGRectMake(0, 44, 1, 1) animated:YES];
}

ビューが初めて表示されるとき、コードは完全に機能します。

次回(別のコントローラーから戻って)表示されると、本来よりも少し下にスライドし、なぜそれが起こるのかわかりません。 ここに画像の説明を入力

4

1 に答える 1