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

0

好的,在我的情况下,我延迟播放,发现将其设置为 0.1 使其按计划工作。

[self performSelector:@selector(updateContentOffset) withObject:nil afterDelay:0.1];
于 2013-05-12T07:51:33.277 回答