ios – 当我点击它时,UISearchBar会进入视图顶部

ios – 当我点击它时,UISearchBar会进入视图顶部,第1张

概述我有一个UITableView,它无法到达整个视图.近似地,UITableView比视图小两倍. 然后,我将“搜索栏和搜索显示控制器”添加到对象库中的UITableView.因此,为了可视化,searchBar出现在屏幕的中心. 这是我的观点: 我的问题:当我点击搜索字段进行我的研究时,searchBar将转到视图的顶部,代替导航栏!过渡非常糟糕……我如何限制searchBar保持在最初的位置? 我有一个UItableVIEw,它无法到达整个视图.近似地,UItableVIEw比视图小两倍.

然后,我将“搜索栏和搜索显示控制器”添加到对象库中的UItableVIEw.因此,为了可视化,searchbar出现在屏幕的中心.

这是我的观点:

我的问题:当我点击搜索字段进行我的研究时,searchbar将转到视图的顶部,代替导航栏!过渡非常糟糕……我如何限制searchbar保持在最初的位置?

解决方法 该问题与搜索显示控制器有关.你无法控制动画,当你的tableVIEw顶部有一个视图时,它似乎无法很好地处理它.我们遇到了同样的问题,我们修复它的最简单方法是通过故事板中的简单搜索栏替换搜索显示控制器.

这意味着您的类现在必须实现搜索栏的委托方法才能正常工作.

要正确设置动画,只需覆盖searchbarTextDIDBeginEditing和searchbarTextDIDEndEditing,如下所示:

- (voID)searchbarTextDIDBeginEditing:(UISearchbar *)searchbar {CGRect tableVIEwFrame = self.tableVIEw.frame;tableVIEwFrame.origin.y = tableVIEwFrame.origin.y - self.yourheaderVIEw.bounds.size.height;[UIVIEw animateWithDuration:0.25                 animations:^{ self.tableVIEw.frame = tableVIEwFrame; }];}- (voID)searchbarTextDIDEndEditing:(UISearchbar *)searchbar {CGRect tableVIEwFrame = self.tableVIEw.frame;tableVIEwFrame.origin.y = tableVIEwFrame.origin.y + self.yourheaderVIEw.bounds.size.height;[UIVIEw animateWithDuration:0.25                 animations:^{ self.tableVIEw.frame = tableVIEwFrame; }];}

简单地说,您只需根据视图的高度将视图框移动到视图上.动画使其更流畅,更清洁.

总结

以上是内存溢出为你收集整理的ios – 当我点击它时,UISearchBar会进入视图顶部全部内容,希望文章能够帮你解决ios – 当我点击它时,UISearchBar会进入视图顶部所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1069437.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存