首页 > 解决方案 > 即使在键盘关闭时也保持搜索栏取消按钮的颜色

问题描述

我的导航栏中有一个带有取消按钮的搜索栏,当键盘关闭时,我的取消按钮会改变颜色并变为非活动状态,直到我再次单击它。有没有办法让我的取消按钮状态每次都保持不变?

这是在我关闭键盘之前

在此处输入图像描述

这是在我关闭键盘之后

在此处输入图像描述

我希望我的取消按钮在键盘关闭前后保持不变。谢谢您的帮助!

标签: iosswiftuisearchbaruisearchcontroller

解决方案


我认为你不能,我这样做的方式是在右侧制作按钮宽度,当用户按下搜索栏时,按钮宽度会改变,即使用户搜索并关闭键盘它仍然处于活动状态,但是当按下时宽度为零,搜索栏结束编辑在此处输入图像描述 在此处输入图像描述 然后当按下取消时,只需使其宽度为零

实施:

1-在标签栏右侧添加一个按钮-用于按钮的约束:您想要的底部约束,宽度为零,您想要的高度,尾随也为零。

2-用于标签栏约束:尾随必须为零,其余随你喜欢

3-别忘了使用UISearchBarDelegate

4-in viewdidload 集yoursearchbar.delegate = self

5-

 func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
        //wcha.hey = hello.text!
        this will fire when tuching search bar for first time
        self.allview.layoutIfNeeded()
             yourcancelbutton.constant = your desired width

        }

6-

 @IBAction func yourcancelbutton(_ sender: Any) {

         yourbutton.constant = 0
        self.view.endEditing(true)
    }

推荐阅读