Ios 激活时,tableViewHeader上的UISearchController会更改屏幕上的位置
我在UITableView子类的代码中创建了一个搜索栏作为tableViewHeader。问题是当它处于活动状态时,它会跳到屏幕顶部。所讨论的表视图位于屏幕中间(iPad App)的另一个视图中。没有导航栏 代码如下:Ios 激活时,tableViewHeader上的UISearchController会更改屏幕上的位置,ios,uisearchbar,uisearchcontroller,Ios,Uisearchbar,Uisearchcontroller,我在UITableView子类的代码中创建了一个搜索栏作为tableViewHeader。问题是当它处于活动状态时,它会跳到屏幕顶部。所讨论的表视图位于屏幕中间(iPad App)的另一个视图中。没有导航栏 代码如下: -(void)addSearchController { self.resultSearchController = [[UISearchController alloc] initWithSearchResultsController:nil];
-(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调用的。当运行搜索栏时,它会出现在正确的位置,直到被激活,然后跳转到屏幕顶部的愚蠢位置。在视图检查器中,我可以看到它最初位于表视图下,但当激活它时,它似乎以某种方式在视图层次结构中向上跳跃。
我已经看到这里有很多关于这个主题的话题,我想我已经尝试了其中的大部分
有没有办法解决这个问题