gpt4 book ai didi

objective-c - 在Interface Builder中制作的UISearchDisplayController的contentView在哪里设置

转载 作者:行者123 更新时间:2023-11-29 05:03:43 27 4
gpt4 key购买 nike

我在 UIToolbar 中有一个 UISearchBar,它绑定(bind)了一个 UISearchDisplayController。我希望 UISearchDisplayController 的结果显示在 UISearchBar 下方的弹出窗口中,但我遇到了麻烦。我很确定这是因为没有设置contentsController,但我找不到将contentsController分配给在Interface Builder中创建的UISearchDisplayController的位置。我尝试以编程方式进行创建并调用 initwithsearchbar: andcontentscontroller: 但我认为只有在以编程方式创建搜索栏和 Controller 时才有效,而我不想这样做,任何帮助都会很棒!

最佳答案

UISearchDisplayController与另一个UIViewController(如您提到的contentsController)一起使用。虽然它可以与任何 UIViewController 一起使用,但它的主要用途(也是最不痛苦的使用)旨在与 UITableViewController 一起使用。

contentsController 应该“负责管理要搜索的原始内容”。如果 Controller 不管理项目集合,则无需搜索任何内容。 UITableView 是管理多个项目的主要标准 Controller 。

如果您的 UISearchBar 位于 UIToolbar 中,则该工具栏可能位于由 UIViewController 管理的主视图中。如果您在运行时以编程方式访问只读 contentsController 值,这就是我希望您找到的内容。

当您将搜索 Controller 放入 Nib 时,Xcode4(以及可能的 InterfaceBuilder)会创建大量连接。他们现在指向 UIViewController (文件的所有者?)并期望它实现 UISearchBarDelegateUISearchDisplayDelegate 中的一些完全可选的方法协议(protocol)。

您可能想要实现

- (void)searchBar:(UISearchBar *)searchBar 
textDidChange:(NSString *)searchText {
// called when text changes (including clear)
NSLog(@"[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd));
}

在神秘的contentsController上并在每次输入文本时执行筛选?

(祝你好运)

我怀疑您可能根本不希望将 UISearchDisplayController 混入其中。

关于objective-c - 在Interface Builder中制作的UISearchDisplayController的contentView在哪里设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6193285/

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