Tag: uisearchdisplaycontroller

Objective-C / Xcode 6:有一个search栏填充表视图的最佳方法?

我有上面的search栏的表格视图。 我的意图是让用户在search栏中input一个查询,并在表格视图中填充结果 – 无论是当用户按下input还是在input时。 阅读了很多教程之后,我select了search栏和search栏的search显示控制器 。 但是,看起来这个控制器比一个filter存在的表视图数据工具要less一个input查询然后显示结果的工具。 这意味着我来到一个表格视图,已经有了所有的数据,并在我键入时被过滤 – 我想要的是来一个空的表视图,并填充它。 我想知道是否有一种方法来使用search栏和search显示控制器来实现我想要的效果,或者有一个首选的方法?

filterContentForSearchText:scope:方法从哪里来?

最近,我注意到filterContentForSearchText:scope:出现在多个关于如何实现search栏的教程中。 但是,我UISearchDisplayDelegate and UISearchBarDelegate的引用。 我发现这个filterContentForSearchText:scope:既不是一个必需的也不是一个可选的方法。 我想知道如果filterContentForSearchText:scope:只是一个传统的方法名称来过滤search结果?

隐藏UITableViewsearch栏

我有一个UITableViewController与UISearchDisplayController设置标准的方式(在tableView内的search栏)。 我想要search栏开始隐藏 – 真正隐藏的,不仅仅是在这个解决scheme中滚动。 然后,我想在用户按下button时显示searchUI,并在用户selectsearch中find的项目之后再次隐藏(真的隐藏)。 这是几乎工作的代码: – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.searchDisplayController.searchBar.prompt = @"Add an item"; self.searchDisplayController.searchBar.placeholder = @"Type the item name"; // i do this to trigger the formatting logic below [self.searchDisplayController setActive:YES animated:NO]; [self.searchDisplayController setActive:NO animated:NO]; // rest of my view will appear } – (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller { NSTimeInterval duration = (self.isViewLoaded && […]

如何search字典的数组和显示在UITableview?

我在IOS很新,我正在使用UISearchDisplayController进行search。 -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString { [self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]]; return YES; } – (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY SELF == %@", searchText]; NSArray *filtered = [self.arrProductList filteredArrayUsingPredicate:predicate]; NSLog(@"%@", filtered); } 这里是我的self.arrProductList是一个数组即数组即 ({ ID = 1; description =“在不耐烦的T恤上合并function”; pname =“合并functionT恤”; 价格=“299.00”; qty = 99; }, { ID = 2; 描述=“食者Krylon […]

search栏变为活动状态时被导航栏隐藏

我正面临一个奇怪的场景,我在我的应用程序中使用了一个search栏,并将其与桌子视图绑在一起,如下图所示! 但是,当我试图search任何东西的search栏上滑动,并被导航栏隐藏,我已经多次使用search栏,从来没有见过这样的事情,下面是它的屏幕截图! 我不能删除导航栏,因为我需要它,但我只是不知道为什么或如何可能发生, 需要注意的一点是,search栏和它的控制器在试图search的时候是完美的,只是它隐藏在导航栏后面, 任何帮助,将不胜感激,因为我只是不明白其原因。

UISearchDisplayController在IOS8.0中被弃用,那么如何初始化呢?

UISearchDisplayController在IOS8.0已被弃用,build议使用UISearchController代替。 那么如何使用新的** API**来实现stream动: (从Beginning IOS7 Development Exploring the IOS SDK ) UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; tableView.tableHeaderView = searchBar; searchContoller = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; searchController.delegate = self; searchController.searchResultsDataSource = self; 你知道, UISearchController的API是不同的,那该怎么办?

随机UISearchDisplayController崩溃(iOS 7)

我一直在试图解决大约50%的用户遇到的崩溃问题。 在我实现了一个UISearchDisplayController(也就是将一个search栏添加到一个表视图)后,崩溃开始了,但是我还没有能够重现崩溃,甚至没有一次。 根据我的用户,当他们打开具有UISearchDisplayController的表格视图时,他们立即崩溃(或冻结)。 根据Crashlytics,崩溃发生在: -[UISearchDisplayController _updateTableHeaderBackgroundViewInTableView:amountScrolledUnder:] 我以编程方式创build了UITableView,但我主要通过IB添加了UISearchBar / UISearchDisplayController。 关于崩溃似乎指的“表格背景视图”,我之前做了两件事情。 首先,我将表视图背景视图设置为零: [self.tableView setBackgroundView:nil]; 其次,我也是这样做的: – (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section { if (aTableView != nil && self.searchDisplayController != nil) { if (self.searchDisplayController.isActive) { return nil; } else { return [super sectionAtIndex:section].headerTitle; } } else { return [super sectionAtIndex:section].headerTitle; } } 从那时起,我将背景视图更改为一个__strong UIView,框架大小为CGZero,这意味着我刚刚为背景添加了一个强大的空视图。 另外,在第二段代码中,不是返回nil,而是返回一个空string@“”。 我还没有把这些变化推给我的用户,因为在我这样做之前我想确定一下。 试图谷歌的UISearchDisplayControllerfunction,但没有真正find任何东西,所以我猜这是一个iOS 7的具体问题,这使得更难以追查,特别是因为我不能再现它。 […]

UISearchBar与状态栏animation转换错误ios7

我有一个UISearchBaranimation的问题。 当状态栏打开时,animation是有问题的。 否则它是好的。 我以编程方式创build了tableview和searchbar。 uisearchbar在tableview的headerview中。 保持这种状态很重要。 当你使用故事板时,我知道它的工作正常。 我创build了一个非常基本的示例项目,因为我认为这是向您显示问题的最简单的方法。 我花了几个小时find解决scheme,但我无法弄清楚。 任何帮助将不胜感激。 这里是一个示例项目的链接: SearchBarProject !

带有UISearchDisplayController的UISearchBar在屏幕外animation

我有标准的iPad视图控制器,其顶部有一个自定义的导航栏。 在xib文件中,我添加了一个与视图右边缘alignment的UISearchBar。 search栏的宽度是320px。 我像这样初始化一个searchdisplaycontroller: // Search display controller self.mySearchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:_searchBar contentsController:self]; _mySearchDisplayController.delegate = self; _mySearchDisplayController.searchResultsDataSource = self; _mySearchDisplayController.searchResultsDelegate = self; 问题是,当我按下search栏,栏调整为整个视图的整个宽度,但保持其x位置。 这意味着它延伸到屏幕之外。 我猜测它与在search栏旁边滑动的“取消”button有关。 如果将search栏放在屏幕的最左侧,则会将其移动到屏幕的整个宽度,并可以看到取消button。 任何人都有这个解决scheme?

添加到UISearchDisplayController时,UISearchBar在状态栏下被剪切

我想让我的search栏在状态栏的下方向上延伸,如下所示: 这是上面图片的相应代码: – (void)viewDidLoad { [super viewDidLoad]; self.searchBar = [[UISearchBar alloc] init]; self.searchBar.delegate = self; [self.view addSubview:self.searchBar]; self.searchBar.translatesAutoresizingMaskIntoConstraints = NO; NSDictionary *views = @{@"v":self.searchBar, @"topLayoutGuide":self.topLayoutGuide}; [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[topLayoutGuide][v]" options:0 metrics:nil views:views]]; [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[v]|" options:0 metrics:nil views:views]]; [self.searchBar setBackgroundImage:[UIImage imageNamed:@"searchbarBG"] forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault]; } – (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar { return UIBarPositionTopAttached; } 当我将search栏添加到UISearchDisplayController通过在viewDidLoad方法的末尾添加以下行来产生问题 : self.mySearchDisplayController = [[UISearchDisplayController […]