如何在UIScrollview上隐藏搜索字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在UIScrollview上隐藏搜索字段相关的知识,希望对你有一定的参考价值。

我想在我的应用程序中默认隐藏搜索字段,就像在多个Apple应用程序中看到的那样。

enter image description here enter image description here

(图片来源:OS X Daily http://osxdaily.com/2017/07/27/search-notes-ios/)

现在,搜索字段位于包含的视图之上,并且工作正常。我可以设置默认偏移量来隐藏搜索栏,但是当滚动内容大小长度小于scrollview时,它不会阻止显示。

顺便说一下,我没有在UIScrollView中使用UITableView,它是一个带有子视图的自定义视图。

答案

将自定义搜索视图的高度约束挂钩为IBOutlet,并将其隐藏起来

self.searHeightcon.constant = 0
self.view.layoutIfNeeded()

节目

func scrollViewDidScroll(_ scrollView: UIScrollView) {
   if(scrollView.contentOffset.y == 0)
    {
       self.searHeightcon.constant = 50
    }
    else
    {
        self.searHeightcon.constant = 0
    }

    self.view.layoutIfNeeded()

}
另一答案

如果始终将contentHeight设置为与滚动视图的高度相同或更大,则可以通过从偏移处开始隐藏它。

以上是关于如何在UIScrollview上隐藏搜索字段的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式移动 UIScrollView 以集中在键盘上方的控件中?

当我在显示的键盘上单击文本字段两次时,iOS UIScrollView 无法滚动

搜索页面上的颤动动画文本字段

如何在 UIScrollView 上添加 UIView

如果其他 UIView 带有隐藏选项,如何使下 UIView 固定到 UIScrollView 中的上 UIView?

调整 UIView 的大小以便 UIScrollView 工作