ios – UISearchBar在 *** 作文本字段时移动

ios – UISearchBar在 *** 作文本字段时移动,第1张

概述我遇到了一个引起严重问题的问题. 在Interface Builder中,我有一个仅包含tableview的场景.此子类的控制器UITableViewController.我有另一个场景,顶部有一个高度为50的视图,横跨视图的宽度.下面是一个最终包含列表或地图的容器视图.控制器是UIViewController的子类.这是模拟器上的样子…… 请注意,您在上图中看到的列表是一个完全不同的表和视图控制 我遇到了一个引起严重问题的问题.

在Interface Builder中,我有一个仅包含tablevIEw的场景.此子类的控制器UItableVIEwController.我有另一个场景,顶部有一个高度为50的视图,横跨视图的宽度.下面是一个最终包含列表或地图的容器视图.控制器是UIVIEwController的子类.这是模拟器上的样子……

请注意,您在上图中看到的列表是一个完全不同的表和视图控制器.搜索栏控制器用于按城市或邮政编码搜索位置.搜索栏控制器的表视图覆盖其他列表.当从搜索表中选择位置时,该位置的区域被馈送到另一个控制器,该控制器使用私有Web服务来检索感兴趣的点列表.

我正在调用以下方法将搜索栏添加到上面提到的视图中.

- (voID)setupSearchVIEw {    self.searchtableVIEwController = [self.storyboard instantiateVIEwControllerWithIDentifIEr:@"LocationSearchtable"];    self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.searchtableVIEwController];    self.searchController.searchResultsUpdater = self.searchtableVIEwController;    [self.searchController.searchbar sizetoFit];    self.searchController.searchbar.tag = 9189;    self.searchController.searchbar.placeholder = @"Search by city or ZIP code";    [self.searchVIEw addSubvIEw:self.searchController.searchbar];    [[self.searchVIEw vIEwWithTag:9189] becomeFirstResponder];    self.searchController.hIDesNavigationbarDuringPresentation = false;    self.searchController.dimsBackgroundDuringPresentation = true;    self.definesPresentationContext = true;}

当我单击文本字段时,将self.definesPresentationContext设置为true,搜索栏会下拉导航栏的确切高度,在其上方留下一个大的空白区域.

如果self.definesPresentationContext为false,则行为和结果不同.在这种情况下,当我点击搜索字段时,一切看起来都很好.但是一旦我开始输入,导航控制器就会被白色覆盖.搜索栏不会改变位置.如果我使用Reveal,我可以看到导航栏已被推回堆栈中.这是看起来像……

我错过了什么?

解决方法 我有同样的问题尝试在showController的vIEwDIDLoad中使用以下代码行.

self.extendedLayoutIncludesOpaquebars = true
总结

以上是内存溢出为你收集整理的ios – UISearchBar在 *** 作文本字段时移动全部内容,希望文章能够帮你解决ios – UISearchBar在 *** 作文本字段时移动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1030898.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存