如何打开类似iPhone设置搜索栏的UISearchBar?

3
有没有一种简单的方法来处理UISearchBar的位置,使其类似于iPhone设置搜索栏?因为iPhone设置的搜索栏在向下拉屏幕时打开,打开动画由我们的拉动操作控制。
我想在我的应用程序中做同样的事情。如果你知道任何简单的方法,请帮助我。
谢谢

1
您可以在带有分组标题的UITableView中添加UISearchBar,并将UITableView样式设置为UITableViewStyleGrouped。 - Harshal Wani
@HarshalWani,这个方法也可以,但是如果节标题已经有一些内容了,那就不太好。无论如何,感谢您宝贵的解决方案。谢谢,伙计。 - Sunil Targe
2个回答

4

4
我认为实现这种动画最简单的方法是:
当将搜索栏添加到单元格的顶部并放在滚动视图(表视图)中时,它会成为显示/隐藏搜索栏的默认行为。

enter image description here

通过应用上述方法,向下滚动会隐藏(折叠)搜索栏,反之亦然。

enter image description here

我假设再也没有什么事可以做了。
此外,
如果你想让搜索栏默认隐藏,你可以通过将表格视图滚动到顶部来实现(你可能希望在 viewDidLoad() 中调用此方法)。
let searchBarHeight = searchBar.frame.size.height
tableView.setContentOffset(CGPoint(x: 0, y: searchBarHeight), animated: false))

它可以工作,但我们必须为初始状态显式地设置tableView的内容偏移量。 - Sunil Targe
1
@SunilTarge,你的意思是搜索栏默认应该隐藏吗? - Ahmad F
好的,作为一个解决方法,请尝试在viewDidLoad()中将表格视图滚动到顶部(tableView.setContentOffset(CGPoint.zero, animated: true)),然后告诉我它是否起作用:) 如果它产生了期望的结果,我将编辑我的答案。 - Ahmad F
只有当我们将y偏移设置为搜索栏高度时,它才能正常工作。例如:tableView.setContentOffset(CGPoint(x: 0, y: 56), animated: true))。因此,您可以像这样更新您的答案。虽然它不完全符合我的要求,但在某种程度上是相似的。无论如何,在您编辑后我都会接受您的答案。 - Sunil Targe
@SunilTarge 在你的情况下,也许将 animated 设为 false 更好... - Ahmad F
让我们在聊天中继续这个讨论 - Sunil Targe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接