首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >激活时UISearchController搜索栏与第一个单元格重叠

激活时UISearchController搜索栏与第一个单元格重叠
EN

Stack Overflow用户
提问于 2017-07-05 15:01:01
回答 7查看 5.4K关注 0票数 3

我正在使用UISearchController在我的表视图中搜索数据。我没有使用表视图控制器。当我的搜索栏处于活动状态时,我想隐藏导航栏,因此我将self.searchController.hidesNavigationBarDuringPresentation = YES;设置为yes。

然而,当我这样做并想要搜索时,我的活动搜索栏覆盖了第一个单元格的一部分。覆盖的零件具有与状态栏相同的高度。

我尝试了其他类似本文的文章和问题,但都没有帮助我解决它。然后我开始调整表视图头的大小。这是我做的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

  return 20.0f;
}

结果,当我点击搜索栏,开始搜索时,问题就不再存在了。

但是,当搜索栏不活动时,搜索栏和第一个单元格之间存在间隙

有什么办法解决这个问题吗?

编辑:添加self.automaticallyAdjustsScrollViewInsets = false;

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-07-05 19:05:58

这就是我在viewDidLoad中设置搜索栏和内容的方法(抄袭自苹果的一些例子)。

它将查找到的结果显示在与显示未过滤数据相同的视图控制器中。它还在表头中隐藏了搜索栏,直到需要时才会显示出来。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];

// we want to be the delegate for our filtered table so didSelectRowAtIndexPath is called for both tables
self.searchController.delegate = self;
self.searchController.dimsBackgroundDuringPresentation = NO; // default is YES
self.searchController.searchBar.delegate = self; // so we can monitor text changes + others

// Search is now just presenting a view controller. As such, the normal view controller
// presentation semantics apply. Namely, that presentation will walk up the view controller
// hierarchy until it finds the root view controller or one that defines a presentation context.
//
self.definesPresentationContext = YES;  // know where you want UISearchController to be displayed

// Hides search bar initially. When the user pulls down on the list, the search bar is revealed.
[self.tableView setContentOffset:CGPointMake(0, self.searchController.searchBar.frame.size.height)];
票数 3
EN

Stack Overflow用户

发布于 2017-07-05 17:04:53

我设法通过将RJiryes answer与滚动到顶部相结合的方式解决了这个问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-(void)willPresentSearchController:(UISearchController *)searchController{

     [self.contactsTableView setContentInset:UIEdgeInsetsMake(20, 0, 0, 0)];
     [self.contactsTableView setContentOffset:CGPointMake(0.0f, -self.contactsTableView.contentInset.top) animated:YES];
 }

-(void)willDismissSearchController:(UISearchController *)searchController{

     [self.contactsTableView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}
票数 6
EN

Stack Overflow用户

发布于 2017-07-05 15:16:25

您可以从顶部添加内容插入,而不是添加标题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  self.tableView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)

当调用willDismissSearchController (UISearchController的委托方法)时,将insets返回为0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

这样,当空格处于非活动状态时,可以避免出现空格。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44929810

复制
相关文章
redux-thunk引发的redux middleware和store enhancer浅析
项目中使用redux-thunk来解决异步请求的问题,但是为什么要引入redux-thunk来解决异步请求问题,不借助redux-thunk就无法解决吗?
IMWeb前端团队
2019/12/03
1.1K0
React Js 中创建和使用 Redux Store
本文,我们将学习在 React 应用中怎么创建 Redux Store。同时,我们将分享怎么使用 Redux store 去管理复杂的 states。
Jimmy_is_jimmy
2023/08/11
2970
React Js 中创建和使用 Redux Store
字符数组初始化为空
第(1)(2)(5)种方式是整体清0了整个缓冲区,效率较低; 如果数组的size非常大,那么这三种方式将会造成很大的开销。
全栈程序员站长
2022/09/09
1.3K0
React进阶(2)-上手实践Redux-如何获取store的数据
在前面的一文理解Redux中,已经知道了Redux的工作流程以及Redux的设计基本原则,它就是一个用于管理组件的公共数据状态的数据层框架,包括了Store,Reducer,React Component,Actions Creators四个部分
itclanCoder
2020/10/23
2.3K0
手把手带你用next搭建一个完善的react服务端渲染项目(集成antd、redux、样式解决方案)
本文参考了慕课网jokcy老师的React16.8+Next.js+Koa2开发Github全栈项目,也算是做个笔记吧。
ssh_晨曦时梦见兮
2020/04/10
5.8K0
React进阶(2)-上手实践Redux-如何获取store的数据
在前面的一文理解Redux中,已经知道了Redux的工作流程以及Redux的设计基本原则,它就是一个用于管理组件的公共数据状态的数据层框架,包括了Store,Reducer,React Component,Actions Creators四个部分
itclanCoder
2020/10/28
1.6K0
React进阶(2)-上手实践Redux-如何获取store的数据
React进阶(3)-上手实践Redux-如何改变store中的数据
在前面的一文React进阶(2)-上手实践Redux-如何获取store的数据当中,已经知道组件怎么获取store的数据,并渲染到页面上,那么在该节当中揭示怎么更改store的数据,实现页面的更新
itclanCoder
2020/10/28
2.2K0
React进阶(3)-上手实践Redux-如何改变store中的数据
React进阶(3)-上手实践Redux-如何改变store中的数据
在前面的一文React进阶(2)-上手实践Redux-如何获取store的数据当中,已经知道组件怎么获取store的数据,并渲染到页面上,那么在该节当中揭示怎么更改store的数据,实现页面的更新
itclanCoder
2020/10/23
2.6K0
React 带属性 + Redux connect() 的高阶组件正确 Typing 方式
考虑这样的一个场景。我们有一个高阶组件 WrappedComponent,它接受一个属性类型为 BaseProps 的组件 Component,然后做以下事情:
Power
2023/06/01
5900
Gitlab 创建空Project后的初始化问题
我们如果通过GitLab 创建了一个项目后。如果直接进行TortoiseGit进行操作。
zinyan.com
2022/12/07
4.7K0
浅析EggJS接入NextJS
需要说明的是,本文并非说Next的使用方式或者Egg的使用方式,建议阅读者对Egg和Next有一定了解。本文主要想表达的是对Next的一些吐槽,已经如何和Egg配合使用。
LamHo
2022/09/26
1.6K0
浅析EggJS接入NextJS
Redux-DevTools Error: It looks like you are passing several store enhancers to createStore().
以前 createStore 集成 redux-devtool 的时候提供 3 个参数, 现在需要将后面的 middleware 全部包裹起来:
szhshp
2022/09/21
3040
[源码解析] PyTorch分布式(6) -------- DistributedDataParallel -- 初始化&store
本文是 PyTorch 分布式系列的第六篇, 介绍 DistributedDataParallel 所依赖的初始化方法和Store这两个概念。
罗西的思考
2021/11/22
1.3K0
[源码解析] PyTorch分布式(6) -------- DistributedDataParallel -- 初始化&store
Dva 底层是如何组织起 Redux 数据流的?
dva 首先是一个基于redux[1]和redux-saga[2]的数据流方案,然后为了简化开发体验,dva 还额外内置了react-router[3]和fetch[4],所以也可以理解为一个轻量级的应用框架。
用户3806669
2021/07/06
1.4K0
Dva 底层是如何组织起 Redux 数据流的?
React服务端渲染与同构实践
本文由 IMWeb 首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。 前两年服务端渲染和同构的概念火遍了整个前端界,几乎所有关于前端的分享会议都有提到。在这年头,无论你选择什么技术栈,不会做个服务端渲染可能真的快混不下去了!最近刚好实现了个基于 React&Redux 的同构直出应用,赶紧写个文章总结总结压压惊。 前言 在了解实践过程之前,让我们先明白几个概念(非新手可直接跳过)。 什么是服务端渲染(Server-Side Rendering) 服务端渲染,又
用户1097444
2022/06/29
8060
React服务端渲染与同构实践
Redux系列01:从一个简单例子了解action、store、reducer
本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 先看例子 其实,redux的核心概念就是store、action、reducer,从调用关系来看如下所示 sto
IMWeb前端团队
2018/01/08
6980
android之List<T>的空指针问题_List的初始化
重点在倒数两行,本来我把List的初始化放在了onCreate里面,心想应该没有问题的,activity启动之后就会对它初始化了,后来我尝试着在第一行就初始化,结果就不报空指针异常,
全栈程序员站长
2022/07/20
7130
React服务端渲染与同构实践
前两年服务端渲染和同构的概念火遍了整个前端界,几乎所有关于前端的分享会议都有提到。在这年头,无论你选择什么技术栈,不会做个服务端渲染可能真的快混不下去了!最近刚好实现了个基于 React&Redux 的同构直出应用,赶紧写个文章总结总结压压惊。
IMWeb前端团队
2019/12/04
1.1K0
点击加载更多

相似问题

React Nextjs路由通过Redux Store

10

对象初始化后为空。

10

带有redux redux-saga初始化存储的Nextjs

11

对象在方法中初始化后为空。

13

@FXML控制器组件在初始化后为空

250
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文