ios – 使用搜索显示控制器的刷新控制显示在搜索栏的上方

ios – 使用搜索显示控制器的刷新控制显示在搜索栏的上方,第1张

概述我已经实现了一个简单的表视图控制器,通过Interface Builder拖出了搜索显示控制器.然后我启用了刷新,以便在用户下拉刷新时可以看到刷新控件. 问题是,当搜索栏位于搜索栏下方时,它可以在搜索栏的顶部看到. 我知道原因是最小搜索风格.如果使用默认的Prominent样式,则问题不存在. 当你慢慢拉下来时,你会看到第一行显示在搜索栏的上方,如下所示:    如果你继续拉动,它会显示在你期望的 我已经实现了一个简单的表视图控制器,通过Interface Builder拖出了搜索显示控制器.然后我启用了刷新,以便在用户下拉刷新时可以看到刷新控件.

问题是,当搜索栏位于搜索栏下方时,它可以在搜索栏的顶部看到.

我知道原因是最小搜索风格.如果使用默认的Prominent样式,则问题不存在.

当你慢慢拉下来时,你会看到第一行显示在搜索栏的上方,如下所示:
  

如果你继续拉动,它会显示在你期望的位置,但是如果你在视图仍然刷新的同时将视图重新推回,你会在搜索栏顶部看到微调器,如下所示:

一旦你将它向上推,使得微调器触及第一节头,旋转器立即消失.

这就是它应该看起来的样子,就像在Mail中一样 – 位于搜索栏下方:

我试图通过简单地使微调器位于搜索栏下方来解决问题,这样它就不会出现在顶部,但是这不起作用.奇怪的是,该代码导致微调器在桌面上方的灰色区域中不可见,如果你将其向上推,它会出现在搜索栏的上方 – 与我期望的完全相反.这是代码:

self.refreshControl.layer.zposition = self.searchdisplayController.searchbar.layer.zposition - 1;

使用最小样式时,如何防止微调器出现在搜索栏的顶部?

解决方法 要解决UISearchbarStyleMinimal的此错误,您必须为任何图像设置backgroundImage属性.仅当设置了背景图像时,布局才能正常运行.

private extension UISearchbar {    private func setBackgroundcolorWithImage(color: UIcolor) {        let rect = self.bounds        UIGraphicsBeginImageContext(rect.size)        let context = UIGraphicsGetCurrentContext()        CGContextSetFillcolorWithcolor(context,color.CGcolor)        CGContextFillRect(context,rect);        let image = UIGraphicsGetimageFromCurrentimageContext()        UIGraphicsEndImageContext()        self.backgroundImage = image // here!    }}
总结

以上是内存溢出为你收集整理的ios – 使用搜索显示控制器的刷新控制显示在搜索栏的上方全部内容,希望文章能够帮你解决ios – 使用搜索显示控制器的刷新控制显示在搜索栏的上方所遇到的程序开发问题。

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

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

原文地址: http://www.outofmemory.cn/web/1041740.html

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

发表评论

登录后才能评论

评论列表(0条)

保存