首页 > 解决方案 > 如何删除搜索栏中的“放大镜”图标?

问题描述

我尝试使用“search.showsScopeBar = false”隐藏,但它不起作用。

 public var searchBar: UISearchBar = {
            let search = UISearchBar()
            search.showsScopeBar = false
             search.barTintColor = .backgroundColor
            search.text = "Selecione ou digite "
            return search
        }()

我想隐藏这个图标Lupa

标签: iosswift

解决方案


范围栏不是你想象的那样。这是一个自定义的分段控件,可以与搜索栏一起使用,而不是您想要移除的放大镜。

您应该使用func setImage(_ iconImage: UIImage?, for icon: UISearchBar.Icon, state: UIControl.State)API。您还可以使用它来更改搜索栏中的任何其他图标。

要删除图标,请将图像设置为空图像:

      let searchBar: UISearchBar = {
         let sb = UISearchBar()
         sb.placeholder = "Search here"
         let emptyImage = UIImage()
         sb.setImage(emptyImage, for: .search, state: .normal)
         return sb
      }()

或者您可以将图像更改为您喜欢的任何图像。以下将铅笔放在一个圆形图像中:

sb.setImage(UIImage(systemName: "pencil.circle"), for: .search, state: .normal)

推荐阅读