【问题标题】:Dismiss searchBar programmatically in Swift 2.x and iOS9 [closed]在 Swift 2.x 和 iOS9 中以编程方式关闭 searchBar [关闭]
【发布时间】:2016-05-24 18:13:54
【问题描述】:

我使用 searchBar 作为 tableView 的过滤器。 我读过几篇文章,其中包括

self.definesPresentationContext = true

关闭 searchBar,但这不是我的情况。 我想要实现的是,一旦用户点击栏,如果某些条件不满足,它就会关闭搜索。

我也试过了

searchController.active = false

没有结果。任何人都可以帮忙吗?谢谢

【问题讨论】:

  • “我想要实现的是,一旦用户点击栏,它就会关闭搜索”不,我不明白你想要做什么。如果“某些条件不满足”,为什么会出现并启用搜索栏?处理这个问题的方法是首先防止用户不恰当地点击搜索栏,而不是因为突然关闭某些东西而让用户感到惊讶。
  • 如果我不显示 searchBar 用户怎么知道他可以激活它?我在想在点击后显示一条消息是个好主意。你有更好的解决方案吗?
  • “你有更好的解决方案吗”我想我给了你一个更好的解决方案。软件设计的基本规则:不给用户惊喜,不误导用户,不愚弄用户。如果用户不能做某事,不要给他/她做那件事的手段。相反,不要给用户一个界面,它的唯一作用是发出警告说“你是个白痴”。

标签: ios swift tableview uisearchbar searchbar


【解决方案1】:

尝试:

[searchController.searchBar setHidden:YES];

您可能还想关闭presentingViewController。

尽管正如马特指出的那样,这是一种奇怪的做法。如果条件不满足,最好不要显示 alertView,甚至不显示 searchBar。

【讨论】:

  • 实际上在 Swift 2.x 中是 searchController.searchBar.enable = true,但它会留下一个空格,否则最好禁用它并使其可见,例如具有 alpha 通道跨度>
猜你喜欢
  • 1970-01-01
  • 2019-11-14
  • 2023-03-14
  • 2016-09-19
  • 2013-08-08
  • 2015-03-17
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
相关资源
最近更新 更多