iPhone开发:允许用户选择搜索范围的最佳方法
我正在开发我的第一款iPhone应用程序,希望用户能够以比“范围按钮”更复杂的方式选择搜索范围 该应用程序与葡萄酒相关,我希望用户能够首先选择“颜色”红、白、腮红等,然后选择该类别中的类型/品种。现在,我正在使用UISearchBar的范围按钮来选择颜色,点击按钮打开一个包含颜色选择的视图。这没关系,只是一旦选择了“红色”按钮,我就不能再选择它来改变我的类型选择,例如,从“梅洛”改为“锡拉”,等等。如果有更好的方法,我愿意放弃我的方法,从头开始iPhone开发:允许用户选择搜索范围的最佳方法,iphone,uisearchbar,Iphone,Uisearchbar,我正在开发我的第一款iPhone应用程序,希望用户能够以比“范围按钮”更复杂的方式选择搜索范围 该应用程序与葡萄酒相关,我希望用户能够首先选择“颜色”红、白、腮红等,然后选择该类别中的类型/品种。现在,我正在使用UISearchBar的范围按钮来选择颜色,点击按钮打开一个包含颜色选择的视图。这没关系,只是一旦选择了“红色”按钮,我就不能再选择它来改变我的类型选择,例如,从“梅洛”改为“锡拉”,等等。如果有更好的方法,我愿意放弃我的方法,从头开始 谢谢 为什么不能再点击一次 它将只使用标准范围栏,
谢谢 为什么不能再点击一次 它将只使用标准范围栏,每个选项有一个按钮,颜色、类型。等 单击按钮时,弹出UIPickerView,其中包含可能的值。选择值后,在按钮中显示该值
如果只有两种选择,您也可以将一个UIPickerView呈现为两个部分。有时需要提问才能自己找到答案。我在ViewDidDemouse委托方法中放置了以下行:
[self.searchDisplayController.searchBar setSelectedScopeButtonIndex: -1];
这样做的目的是将当前活动的范围按钮设置为“无”,以便在返回到原始视图时,不会选择任何范围按钮。因此,您可以选择其中任何一个,包括上次选择的。这正是我想做的
我不知道这是否是一个“最佳实践”,但它会起作用。如果我可以再次单击它,但它不会触发我所知道的事件,那就太好了。除了shouldReloadTableForSearchScope委托方法之外,还有什么方法可以知道作用域按钮被单击的时间吗?顺便说一句:一旦选择了颜色,我就用UIPickerView来选择类型。好的,很高兴听到这个问题已经解决了!使用这样的范围栏可能不是最好的做法。我希望苹果批准这个用户界面设计。当然,还有很多东西需要学习。即使这是可行的,我还是会放弃它,选择一个表来选择以前的“范围”项。不要苹果爸爸对我的创意皱眉!马克,请标记最佳实践,而不是最佳实践。