Ios 激活时,tableViewHeader上的UISearchController会更改屏幕上的位置

Ios 激活时,tableViewHeader上的UISearchController会更改屏幕上的位置,ios,uisearchbar,uisearchcontroller,Ios,Uisearchbar,Uisearchcontroller,我在UITableView子类的代码中创建了一个搜索栏作为tableViewHeader。问题是当它处于活动状态时,它会跳到屏幕顶部。所讨论的表视图位于屏幕中间(iPad App)的另一个视图中。没有导航栏 代码如下: -(void)addSearchController { self.resultSearchController = [[UISearchController alloc] initWithSearchResultsController:nil];

我在UITableView子类的代码中创建了一个搜索栏作为tableViewHeader。问题是当它处于活动状态时,它会跳到屏幕顶部。所讨论的表视图位于屏幕中间(iPad App)的另一个视图中。没有导航栏

代码如下:

-(void)addSearchController {
   
 

       self.resultSearchController = [[UISearchController alloc] initWithSearchResultsController:nil];
        self.resultSearchController.searchResultsUpdater = self;
        self.resultSearchController.hidesNavigationBarDuringPresentation = NO;
        self.resultSearchController.delegate = self;
        self.resultSearchController.obscuresBackgroundDuringPresentation = NO;
        self.resultSearchController.extendedLayoutIncludesOpaqueBars = YES;
        self.resultSearchController.definesPresentationContext = YES;
        self.resultSearchController.edgesForExtendedLayout = UIRectEdgeBottom;
        self.tableHeaderView = self.resultSearchController.searchBar;
    }
这是从UITableView子类中的awakeFromNib调用的。当运行搜索栏时,它会出现在正确的位置,直到被激活,然后跳转到屏幕顶部的愚蠢位置。在视图检查器中,我可以看到它最初位于表视图下,但当激活它时,它似乎以某种方式在视图层次结构中向上跳跃。 我已经看到这里有很多关于这个主题的话题,我想我已经尝试了其中的大部分

有没有办法解决这个问题