即使在键盘关闭时也保持搜索栏取消按钮的颜色

Posted

技术标签:

【中文标题】即使在键盘关闭时也保持搜索栏取消按钮的颜色【英文标题】:Keep search bar cancel button tint color even when keyboard dismiss 【发布时间】:2018-07-15 02:36:07 【问题描述】:

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

这是在我关闭键盘之前

这是在我关闭键盘之后

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

【问题讨论】:

从用户体验的角度来看,这听起来不是一个非常直观的行为。如果搜索栏条目未处于活动状态,则无法取消它,因此它显示为禁用状态。 【参考方案1】:

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

实现:

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

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

3- 不要忘记使用UISearchBarDelegate

4-in viewdidload set 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)
    

【讨论】:

你能告诉我你是怎么做到的吗?会有很大帮助 嘿,如果您有任何其他问题,请随时提问

以上是关于即使在键盘关闭时也保持搜索栏取消按钮的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何设置搜索栏的颜色

UISearchController 中的取消按钮在 iOS 13 中没有正确消失

如何在 xamarin 表单中更改搜索栏取消按钮图像

iOS13导航栏后退栏按钮项目色调颜色

iOS7 键盘返回/完成/搜索色调颜色

UIDocumentPicker 导航栏按钮在 iOS 11 中隐藏