
在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在 *** 作文本字段时移动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)