代码之家  ›  专栏  ›  技术社区  ›  bvh

禁用UISearchBar中的搜索字段

  •  0
  • bvh  · 技术社区  · 7 年前

    enter image description here

    如果范围标题为“All”,是否有办法仅禁用搜索字段,但在单击其他范围标题时启用它?

    我尝试设置 searchBar.isUserInteractionEnabled = false 但它也禁用了范围标题栏。因此,我无法与范围标题交互以重新启用搜索字段。

    提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  2
  •   rmaddy    7 年前

    没有公共API来启用或禁用搜索栏中的文本字段。但是,您有一个解决方案。

    选择“全部”范围按钮后,将搜索栏作为第一响应者退出。这应该会使键盘失效。设置 text 属性设置为空字符串。

    实施 searchBarShouldBeginEditing 委托方法。回来 false 如果选择了“全部”范围按钮, true 对于其他人。这将阻止搜索字段在选择“全部”后变为活动状态。

    (可选)您可以更新搜索栏的 prompt 帮助用户理解为什么在选择“All”时,他们尝试在搜索栏中键入内容时什么都没有发生。