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

问题描述

我有一个searchBar作为在UITableView子类中的代码中创建的tableViewHeader。问题是当它处于活动状态时,它会跳到屏幕顶部。有问题的表格视图位于屏幕中间显示的另一个视图(仅适用于iPad的应用程序)内。没有导航栏!

代码如下:

-(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中调用的。运行时,搜索栏会显示在正确的位置,直到被激活为止,它会跳到屏幕顶部的一个愚蠢位置。在视图检查器中,我可以看到它最初位于表视图下,但是在激活时,它似乎以某种方式跳入了视图层次结构。 我已经看到这里有许多与此主题有关的主题,我想我现在已经尝试了其中的大多数主题

是否有解决此问题的想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...