如何在UISearchBar中多选范围?

时间:2009-07-21 13:35:22

标签: iphone scope uisearchbar uisegmentedcontrol

我正在开发一个iPhone应用程序,它有一个UISearchBar,用于填充表视图。我的搜索有各种选项,可以很容易地连接到“范围”功能。但是,我真的需要有两组按钮。一组是确定搜索类型的“范围”,一组是指示返回结果的排序顺序。据我所知,您只能使用正常功能一次选择一个“范围”项目。

我只为每个查询加载一小部分可能的结果(速度),所以我不能单独使用表视图进行排序。它需要每次都传递给我的搜索查询,因此我需要用户能够选择搜索类型和搜索顺序。

现在,我在UISearchBar下面只有两个不同的UISegmentedControl,我手工完成所有操作。这有效。但是,即使我将背景设置为灰色,它也不会成为搜索栏的一部分(就像mail.app上的范围一样)。

有什么想法吗?我在SDK上相当新,所以我很可能错过了一些东西。在我已经手动编码分段控件之后,我才发现了示波器功能!

1 个答案:

答案 0 :(得分:1)

我不确定这是否有帮助,但您可以使用下面的代码访问搜索栏使用的分段控件。也许你可以调整或替换它?

// Find scope segmented control
for (UIView *v in searchBar.subviews) {
    if ([v isMemberOfClass:[UISegmentedControl class]]) {   

        // You've got the segmented control!        
        UISegmentedControl *scope = (UISegmentedControl *)v;

        // Do your thing here...

    }
}