UIViewController与UITableViews和UISearchBar

时间:2012-08-19 10:56:29

标签: objective-c xcode uitableview uiviewcontroller uisearchbar

之前我有一个UITableViewController UISearchBar,它使用self.tableView.tableHeaderView = searchBar;显示在顶部

现在我不得不重做一些事情,结果显示UIViewController显示2 UITableView's。我希望上面一个显示搜索栏,但现在它没有显示。

现在我在[MyView setTableHeaderView:searchBar];方法中使用viewDidLoad将searchBar添加到TableView。

UIViewController中,代码与UITableView中的代码几乎相同(搜索栏初始化,框架创建以及初始化的tableview)

任何想法我做错了什么?

编辑:所有这些背后的想法是在上面的tableview(包括搜索栏)和另一个uitableview中有一个列表,我可以选择一些过滤选项。

(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
    searchResult = [[NSMutableArray alloc] init];

    LexikonView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 337) style:UITableViewStylePlain];
    LexikonView.dataSource = self;
    LexikonView.delegate = self;
    [self.view addSubview:LexikonView];

    FilterView = [[UITableView alloc] initWithFrame:CGRectMake(0, 381, 320, 0) style:UITableViewStylePlain];
    //FilterView.dataSource = self;
    //FilterView.delegate = self;
    [self.view addSubview:FilterView];
}
return self;
}

(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib

searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchBar.autocorrectionType = UITextAutocorrectionTypeYes;

searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];

searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;

[LexikonView setTableHeaderView:searchBar];
}

现在我只想让搜索栏再次工作(就像使用uitableviewcontroller一样)。如果我减小上面tableview的大小我只看到空的空间。我在IB中添加了一个UISearchBar,并且在那里添加了一个UISearchBar,但是没有调用委托方法 是的,我希望搜索栏始终显示在tableview的顶部

1 个答案:

答案 0 :(得分:2)

我认为您希望TableView SearchBar始终可见?如果是这种情况,您只需向TableView添加ViewController,并在SearchBar的顶部留出空间。独立于TableView添加SearchBar。我有一篇文章说明了如何完成这项工作,并为快速搜索TableView的支持数据提供了方向。

如果这不是您所追求的目标,请详细说明您的目标是什么。另外,请发布您正在使用的代码,以尝试完成您要执行的操作。