首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自IOS 13以来,状态栏中的UISearchController意外绘制UITableView

自iOS 13以来,状态栏中的UISearchController意外绘制UITableView是一个iOS开发中的一个问题。当使用UISearchController在UITableView中进行搜索时,可能会出现状态栏的重叠绘制问题。

这个问题的原因是UISearchController在iOS 13中引入了新的搜索栏样式,而UITableView在处理状态栏的适配时出现了错误。这导致搜索栏的背景色和状态栏的背景色重叠绘制,给用户带来了不好的视觉体验。

为了解决这个问题,可以采取以下方法之一:

  1. 设置UISearchController的automaticallyAdjustsScrollViewInsets属性为false:
  2. 设置UISearchController的automaticallyAdjustsScrollViewInsets属性为false:
  3. 这样可以禁用UITableView自动调整其内容的内边距,从而避免状态栏的重叠绘制问题。
  4. 使用UISearchController的searchBar属性替代默认的搜索栏:
  5. 使用UISearchController的searchBar属性替代默认的搜索栏:
  6. 将UISearchController的searchBar作为UITableView的表头视图,而不是将其作为UISearchController的搜索栏。这样可以避免状态栏的重叠绘制问题。
  7. 自定义搜索栏的外观:
  8. 自定义搜索栏的外观:
  9. 通过设置搜索栏的背景图片为空,可以避免搜索栏和状态栏的重叠绘制。

以上是解决状态栏中的UISearchController意外绘制UITableView的几种方法。根据具体的需求和情况,选择适合的方法进行解决。

推荐的腾讯云相关产品:腾讯云移动开发平台(https://cloud.tencent.com/product/mpp)

请注意,以上答案仅供参考,具体实现方式可能因iOS版本和开发环境而有所不同。在实际开发中,建议参考官方文档和开发者社区的讨论,以获得最新和最准确的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS开发-搜索栏UISearchBar和UISearchController

最近项目中用到了搜索栏,所以在网上搜了一些相关资料学习了一下,现在记录一下,iOS搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱不是很多,很多都是iOS 8.0之前实现,iOS...8.0上实现貌似很少看到,看了一些其他人代码,使用了一下UISearchController感觉还是非常不错。...Search Bar和UITableView实现搜索Demo,最上面的就是搜索栏,之前就是TableView: ?...2 UISearchController实现搜索 UISeachBar通过UISearchDisplayDelegate实现上面的效果是没有问题,网上也有很多类似的实现效果,不过是警告...,不过现在直接使用self.searchController.active进行判断即可,也就是UISearchControlleractive属性: //设置区域行数-(NSInteger)tableView

2.3K70

你可能需要为你 APP 适配 iOS 11

在UIKit’s Bars中加入新功能 WWDC通过iOS新增文件管理App:Files开始介绍,在Files这个APP能够看到iOS11UIKit’s Bars一些新特性:在浏览功能上大标题视图...把你UISearchController赋值给navigationItem,就可以实现将UISearchController集成到Navigation。...从iOS 7以来,我们在整个操作系统中都有这些半透明bars,苹果鼓励我们通过这些bars绘制内容,我们是通过viewController edgesForExtendedLayout属性来做这些...UIScrollView and UITableView新特性 Scroll Views 如果有一些文本位于UI滚动视图内部,并包含在导航控制器,现在一般navigationContollers会传入一个...11默认启用Self-Sizing 这个应该是UITableView最大改变。

1.6K60

你可能需要为你APP适配iOS11

一 在UIKit’s Bars中加入新功能 WWDC通过iOS新增文件管理App:Files开始介绍,在Files这个APP能够看到iOS11UIKit’s Bars一些新特性:在浏览功能上大标题视图...Navigation 集成 UISearchController 把你UISearchController赋值给navigationItem,就可以实现将UISearchController集成到Navigation...为任意你想设置值,包括0,如下图所示: 安全区域(Safe Area) 如下图:照片应用程序 从iOS 7以来,我们在整个操作系统中都有这些半透明bars,苹果鼓励我们通过这些bars绘制内容...: Table Views :        在iOS 11默认启用Self-Sizing 这个应该是UITableView最大改变。...,在 iOS 11 对其进行了扩展。

80820

你可能需要为你 APP 适配 iOS11

一、在UIKit’s Bars中加入新功能 WWDC通过iOS新增文件管理App:Files开始介绍,在Files这个APP能够看到iOS11UIKit’s Bars一些新特性:在浏览功能上大标题视图...、Navigation 集成 UISearchController 把你UISearchController赋值给navigationItem,就可以实现将UISearchController集成到Navigation...为任意你想设置值,包括0,如下图所示: 2、安全区域(Safe Area) 如下图:照片应用程序 从iOS 7以来,我们在整个操作系统中都有这些半透明bars,苹果鼓励我们通过这些bars绘制内容...: 2、Table Views :在iOS 11默认启用Self-Sizing 这个应该是UITableView最大改变。...,在 iOS 11 对其进行了扩展。

2.4K00

《Motion Design for iOS》(十五)

从UIKit和CoreAnimation开始 通常情况下,iOS app屏幕上物体都是UIView对象。它们是矩形并且有坐标和大小来定义它们在屏幕上位置和尺寸。...UIView是用来构建你界面的UIKit Framework基本界面对象。每个视图都可能伴随着文本、形状或图片绘制。...比如说,iOS app状态栏是一个长且瘦视图,处于屏幕顶端,并且状态栏目中每个物体(时间、电池指示器、信号强度指示器等等)都是状态栏视图中其它视图。...视图,用来包含UITableView中一行元素 UILabel帖子标题 评论数量UIButton,由一个评论气泡图和评论数量组成 显示帖子URLUILable UILabel显示帖子点值和子板...如果你不熟悉iOS用户界面开发,看看一些你喜欢app,看能不能找出界面中所有的视图,以此作为分解你自己设计练习,这样你就可以学习在代码构建它们。

84240

iOS开发·适配iPhone X相关宏和方法

:和-tableView: viewForFooterInSection:等代理方法UITableView会出错位问题。...灵活返回状态栏+导航栏高度 需求:灵活得到导航栏+状态栏高度,作为一个子视图Y轴起点。...适配iPhone X其他问题 适配iPhone X和Xcode 9过程,除了与导航栏相关问题,还有一个问题经常出现,就是UITableView相关问题。下面两个办法可以解决多数错位问题。...iOS新增了个safeArea,原来老代码,规定子视图跟根子视图关系代码需要新增一个判断:当iOS 11时,需要改为子视图跟根子视图安全区关系。...(self.view) } 当然,一般除了tabbar不能放在这个底部虚拟home区,其它视图tableView视图或者网页视图时可以放在底部虚拟home区

1.2K40

手把手带你撸一个网易云音乐首页(三)

关于 headView 实现方式,想必使用过 UITableView 同学都不会陌生,可以通过下面的方法来实现: - (nullable UIView *)tableView:(UITableView...这里我想了一个比较好办法,只需要调用一次绘制方法即可,那就是将我们 headView 实现在我们 tableViewCell ,如下所示: image 另外,因为每个 Section 都有 headView...Cell 中放置一个 UIView,对有一点 iOS 开发基础同学来说,实现这样 UI 应该不难,大家可以通过 Xib 或者代码方式来实现,Xib 实现起来应该更快,这里我就不在多做说明了。...由于我们工程里首页控制器是继承 UITableViewController ,所以我们可以直接设置它 UINavigationItem 属性 leftBarButtonItem,titleView...首先,需要实现搜索视图,我们视图控制器 MusicSearchViewController 继承 UITableViewController,所以它 UINavigationItem 自己带有

2.2K10

关于刘海打理这种事儿,美团点评iOS工程师早就有经验了,不信你看!

背景 iPhone X 刘海机于9月13日发布,给科技小春晚带来一波高潮。作为开发人员却多出来一份忧虑,iPhone X 怎么适配?我们 App 脑袋会不会也长一刘海出来?...图1.4 “我Tab”表现 在图1.1乍一看表现还不错,可是在图1.2,下拉刷新之后,我们导航栏还是被刘海挡住了。搜索也中枪,搜索首页没有办法取消,“热门搜索区域”也多出来一块儿空白。...iPhone X 为用户在垂直空间上提供了更多展示余地,且状态栏也包含了用户需要知道信息,除非能通过隐藏状态栏带给用户额外价值,否则苹果建议大家将状态栏还给用户。"...③ 横屏下 UITableView,SenctionHeader 背景颜色不是设置那个颜色。 ?...图3.3 iOS 11 横屏 Tableview 作用方式 这个问题原因是:横屏下 UITableView,Cell 都是和屏幕一样宽,但是 Cell ContentView 会被 inset

2.1K70

IOS开发基础系列】Table View开发专题

320高度是44         因为在iOS5时候, 默认Cell就是320宽(那阵屏幕就是那么宽,然后高度是44) 现在是在layoutSubViews 重新绘制这个cell宽度和高度,所以才是屏幕上宽度...这个例子,layer并不会显著影响性能,但如果layer透明,或者有圆角、变形等效果,就会影响到绘制速度了。解决办法可参见后面的预渲染图像。 2.4.1.4 不要做多余绘制工作。      ...在实现drawRect:时候,它rect参数就是需要绘制区域,这个区域之外不需要进行绘制。...例如上例,就可以用CGRectIntersectsRect、CGRectIntersection或CGRectContainsRect判断是否需要绘制image和text,然后再调用绘制方法。...解决办法就是在bitmap context里先将其画一遍,导出成UIImage对象,然后再绘制到屏幕,详细做法可见《利用预渲染加速iOS设备图像显示》。

27220

提升UITableView性能-复杂页面的优化

之前项目,青桔音乐iOS客户端里面的首页就是一个类似微信朋友圈“动态”页面,大致如下: 青桔动态页面 如果是你,你会怎么实现这个页面呢?...这还用问,当然是用UITableView+自定义UITableViewCell。 UITableView是可以滑动,为了不让用户在滑动感到有卡顿,该如何优化?...= 首先要确定是,在iOS,系统会先调用“tableView:heightForRowAtIndexPath:”获取每个Cell即将显示高度,从而确定整个UITableView布局。...=(最好放在ViewModel,就是MVVM模式),我们Entity可能就是下面的样子: 1 2 3 4 5 6 7 8 9 10 11 12 13 @interface...在UITableViewDelegate、DataSource方法,减少任何不必要操作 http://tutuge.me/2015/02/19/提升UITableView性能-复杂页面的优化/

99050

WWDC20iOS改变

WWDC20,绝大部份同学都会把注意力放在了iOS布局改变和研芯片上,这方面的文章也比较多,但作为一名开发者,更多聚焦在iOS官方语言和官方库上来,这里仅找出几个更新比较大点给大家分享。...Modern Collection Views 是iOS13推出iOS14持续更新新概念,有兴趣童鞋可以继续去https://developer.apple.com/news/?...现在可以在iOS 13上使用。PencilKit使开发人员可以轻松地在其应用程序中集成绘图画布视图和工具包。 PencilKit可让您轻松快捷地将手绘内容整合到iOS或macOS应用。...PencilKit为iOS应用程序提供了一个绘图环境,该环境可以从Apple Pencil或用户手指获取输入,并将其转换为您在iOS或macOS显示高质量图像。...今年API增加了Catalyst对在iOS处理物理键盘事件支持,这对设备用户行为上报是个利好消息,此外,tvOS焦点引擎API现在可用于Mac Catalyst应用程序,UICollectionView

1.7K10

iOS13 关闭黑暗模式+状态栏显示问题解决方法

toc 现象: iOS13黑暗模式开启后,app显示会出现很多意外显示情况。暂时屏蔽是最好选择。...当开启黑暗模式,且在项目的target对应info.plist添加以下设置时(禁用黑暗模式): UIUserInterfaceStyle Light</string...在项目的target对应info.plist添加以下设置: UIViewControllerBasedStatusBarAppearance 再运行就可以看到状态栏了...系统会自动把导航栏设置为半透明,若不想要半透明效果,需要设置 translucent 为 NO self.navigationController.navigationBar.translucent = NO; 此时状态栏黑色字体在背景色上会无法显示...; } 对于常见视图结构( tabbarVC 下多个子导航控制器),可放在自定义导航控制器(放在 tabbarVC 无效)。

2.2K10

RunLoop总结:RunLoop应用场景(三)滚动视图流畅性优化

关于iOS RunLoop资料非常少,以下资料都是非常好。 CF框架源码(这是一份很重要源码,可以看到CF框架每一次迭代,我们可以下载最新版本来分析,或与以下文章对比学习。...(这一点,相信大家都知道,要尽量避免在主线程执行,一般都是创建一个子线程来执行,然后再回到主线程) 2.动态计算UITableViewCell高度,时间过久 在iOS7之前,每一个Cell高度,...但是到了iOS8,不会再缓存Cell高度了,也就是说每次滑到某个Cell,代理方法都会执行一次,重新计算这个Cell高度(iOS 9以后没测试过)。...3.界面背景色透明视图过多 为什么界面背景色透明视图过多会影响UITableView流畅?...更加详细说明,可以看绘制像素到屏幕上这篇文章,这是一篇关于绘制像素非常棒?文章,我反复看了三遍。

2.1K41

iOS小技能:设置状态栏背景颜色(图片)

但是如果有状态是有透明或者半透明效果,上面这个方法还是不能胜任,越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication...2、iOS 13之后,因为苹果不允许使用KVCvalueForKey访问私有属性。...因此这个方法多次调用就会创建多份statusBar,造成内存开销不说,想设置状态栏为为透明,根本没效果。 解决办法:既然定位到问题所在,办法就是保证iOS 13 之后,每次也都能拿到有去只有一个对象。...方法有很多,我方法代码如下:使用 static 配合 gcd HSSingletonM(QCTStatusBarTool); + (void)setStatusBarBackgroundColor4ios13...; NSLog(@"导航栏高度:%f",navHeight); //获取tabBar高度 //1.在tabBarController中使用(你继承UITabBarControllerVC) CGFloat

1.7K40
领券