在我的新闻提要屏幕上,我需要在用户向下滑动时显示搜索栏(并在他向上滑动时隐藏它),其中如果用户输入内容,搜索结果将显示在新闻提要屏幕的顶部. @H_404_7@我试图修补这个,但我对iOS很新,到目前为止还没有设法让它工作. @H_404_7@任何帮助都会受到赞赏,请记住,我只对iOS进行了几周的编程,因此有些深入有用.
谢谢 !解决方法 首先,您需要实现UISwipeGestureRecognizer @H_404_7@ @H_404_7@在vIEwDIDAppear中包含setup()函数 @H_404_7@
func setup() { let swipeDown = UISwipeGestureRecognizer(target: self,action: #selector(down)) swipeDown.direction = .down let swipeUp = UISwipeGestureRecognizer(target: self,action: #selector(up)) swipeUp.direction = .up self.vIEw.addGestureRecognizer(swipeDown) self.vIEw.addGestureRecognizer(swipeUp) searchbar = UISearchbar(frame: CGRect(x: 0.0,y: 0.0,wIDth: self.vIEw.frame.size.wIDth,height: 40.0)) if let searchbar = searchbar { searchbar.backgroundcolor = UIcolor.red self.vIEw.addSubvIEw(searchbar) }}@H_404_7@然后你的两个功能上下 @H_404_7@
func down(sender: UIGestureRecognizer) { print("down") //show bar UIVIEw.animate(withDuration: 1.0,animations: { () -> VoID in self.searchbar!.frame = CGRect(x: 0.0,y: 64.0,wIDth: self.vIEw.frame.wIDth,height: 40.0) },completion: { (Bool) -> VoID in })}func up(sender: UIGestureRecognizer) { print("up") UIVIEw.animate(withDuration: 1.0,completion: { (Bool) -> VoID in })}@H_404_7@您可以添加Bool isShowing以避免不必要的动画.然后,实现搜索栏委托textDIDChange以在用户键入时更改搜索结果. @H_404_7@
func searchbar(_ searchbar: UISearchbar,textDIDChange searchText: String)`@H_404_7@您现在需要做的就是在UISearchController中显示结果. @H_404_7@注意使用向上/向下滑动可能会干扰UIScreachController的滚动 总结
以上是内存溢出为你收集整理的在swift中向下滑动时搜索栏全部内容,希望文章能够帮你解决在swift中向下滑动时搜索栏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)