0

我有两个问题:

  1. 我的 iPhone 屏幕上有一个搜索栏。当我滚动屏幕时,我的搜索栏也会滚动。我想解决这个问题或让它成为绝对。
  2. 搜索不像如果我输入 A 那么我应该得到所有以字母 A 开头的单词。

我正在尝试的代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    const NSInteger searchBarHeight = 45;
    UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0,
    self.tableView.frame.size.width, searchBarHeight)];
    searchBar.delegate = self;
    self.tableView.tableHeaderView = searchBar;
    [searchBar release];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" 
    style:UIBarButtonItemStyleBordered target:self action:@selector(onAddContact:)];
    self.navigationItem.rightBarButtonItem = addButton;
    UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:20.0];
    label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    label.textAlignment = UITextAlignmentCenter;
    label.textColor = [UIColor whiteColor]; // change this color
    self.navigationItem.titleView = label;
    label.text = NSLocalizedString(@"All Contacts", @"");

    [label sizeToFit];
    content = [DataGenerator wordsFromLetters];
    indices = [[content valueForKey:@"headerTitle"] retain];
}
4

2 回答 2

1

您需要将搜索栏与表格视图分开。只需将搜索栏添加到视图中,而不是将其添加到表格中。代码如下:

[self.view addSubview:searchBar];

然后添加表格视图。

对于 UISearchDisplayController 示例,请遵循本教程: http ://cocoabob.net/?p=67 或 http://blog.mugunthkumar.com/coding/iphone-tutorial-uisearchdisplaycontroller-with-nspredicate/

源代码也可用。如果您不明白,请告诉我。我有一个项目,所有这些都已经实施。

于 2012-12-17T07:44:28.303 回答
0

在这里,当您滚动UITableView当时也UISearchBar滚动,因为您添加UISearchBarUITableView看到这一行的标题视图..

self.tableView.tableHeaderView = searchBar;

所以它的滚动UITableView,这里用于修复UISearchBar只是添加为self.view带有框架的子视图,但在UITableViewFor Example 之外..

[yourSearchBar setFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:yourSearchBar];

UISearchBar有关更多信息,请参阅下面的教程链接和演示UITableView

  1. 过滤-a-uitableview-with-a-uisearchbar-using-core-data
  2. connect-uitableview-with-uisearchbar // 看看如何使用- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 方法从本教程中使用搜索栏文本字段更改事件过滤数组
于 2012-12-17T07:38:06.610 回答