gpt4 book ai didi

ipad - 无法让 UISearchBar 范围栏出现在 iPad 上的工具栏(或任何地方)中

转载 作者:行者123 更新时间:2023-12-01 00:02:08 25 4
gpt4 key购买 nike

这真的让我很不舒服。我看到很多关于将 UISearchBar 放在 UITableView 顶行的信息——但我将 UISearchBar 放在屏幕顶部的工具栏中(在 iPad 上)。我找不到任何关于如何处理 UISearchBar 的信息和 UISearchDisplayController使用 UIPopoverController在 iPad 上。有关 UISearchDisplayController 的更多信息使用 UIPopoverController将不胜感激。请帮助解决这个问题,因为我无能为力。

使用 IB,我在 iPad 上的 IUView 上放置了一个工具栏。我添加了以下内容:Search Bar (不是 Search Bar and Search Display )到工具栏。我将选项设置如下:显示取消按钮、显示范围栏、范围按钮标题为:“Title1”和“Title2”(选中 Title2 的单选按钮)。不透明、清除上下文和自动调整大小被选中。我连接了 Search Bar 的代表到“文件的所有者”并将其链接到 IBOutlet theSearchBar .

在我的 viewWillAppear我有以下内容:

    //Just in case:
[theSearchBar setScopeButtonTitles:[NSArray arrayWithObjects:@"Near Me",@"Everywhere",nil]];
//Just in case (again):
[theSearchBar setShowsScopeBar:YES];
//doesn't seem to do anything:
//[theSearchBar sizeToFit];

searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:theSearchBar contentsController:self];
[self setSearchDisplayController:searchDisplayController];
[searchDisplayController setDelegate:self];
[searchDisplayController setSearchResultsDataSource:self];
//again--does not seem to do anything..but people have suggested it:
[theSearchBar sizeToFit];

好吧,到目前为止,我想,太好了。所以,我设置了文件的所有者 .m要代表的文件: UISearchBarDelegate, UISearchDisplayDelegate .

我的问题:我还没有实现搜索所需的代表,但仍然......我不应该看到 scopeBar吗?当我单击搜索字段时,在搜索字段旁边?只是为了让你知道我确实看到了我输入的字符的日志,所以代表正在工作。

这是我用来检查 IB 是否真的将 Scope Bar (UISegementedControl) 放在搜索栏中的例程:
for (UIView *v in theSearchBar.subviews) 
{
if ([v isMemberOfClass:[UISegmentedControl class]])
{
// You've got the segmented control!
UISegmentedControl *scope = (UISegmentedControl *)v;
// Do your thing here...
NSLog(@"Found Scope: '%@'\n",scope);
NSLog(@"Scope Segments: '%d'\n",[v numberOfSegments]);
}
}

由此可见:
[30013:207] Found Scope: '<UISegmentedControl: 0x68a06b0; frame = (0 0; 200 44); opaque = NO; layer = <CALayer: 0x68a0600>>'
[30013:207] Scope Segments: '2'

所以,我知道有两个部分。我也知道他们没有出现...
我究竟做错了什么?

为什么没有出现范围栏?当我在搜索中键入第一个字符时,结果 UIPopoverController 出现标题“结果”和“未找到结果”(当然)......但没有范围栏。 (并不是说我期望“未找到任何结果”之外的任何内容。

我想知道范围栏应该出现在哪里......在 UIPopover 的 titleView 中?在搜索区域右侧的工具栏中?在哪里?

最佳答案

[self.searchDisplayController searchBar] setScopeButtonTitles:[NSArray arrayWithObjects:@"Near Me",@"Everywhere",nil]];

这可能会有所帮助。

关于ipad - 无法让 UISearchBar 范围栏出现在 iPad 上的工具栏(或任何地方)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2870856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com