0

以前は がありUITableViewControllerUISearchBar使用して上部に表示されていましたself.tableView.tableHeaderView = searchBar;

今、私はいくつかのことをやり直さなければならず、結局UIViewController2 を示すa になりましたUITableView's。上部に検索バーを表示したかったのですが、表示されていません。

今、メソッドで使用[MyView setTableHeaderView:searchBar];viewDidLoadて、searchBar を TableView に追加しています。

コードは、(検索バーが初期化され、フレームが作成され、テーブルビューが初期化された)UIViewControllerとほぼ同じです。UITableView

私が間違っていることはありますか?

編集:このすべての背後にあるアイデアは、上部のテーブルビュー (検索バーを含む) と、いくつかのフィルタリングオプションを選択できる別の 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 を使用した場合と同様)。上部のテーブルビューのサイズを縮小すると、空のスペースしか表示されません。IB に UISearchBar を追加しましたが、出来上がりましたが、デリゲート メソッドは呼び出されません。
はい、検索バーをテーブルビューの上部に常に表示したい

4

1 に答える 1

2

常に表示される がTableView欲しいと思いますよね?SearchBarこの場合は、 を に追加しTableViewViewController、 の上部に を残すだけですSearchBarSearchBarTableView とは別に を追加します。これがどのように行われるかを示す投稿があり、TableView.

これがあなたの求めているものではない場合は、ここであなたの目標が何であるかをもう少し具体的にしてください. また、あなたがしようとしていることを達成するために使用しているコードを投稿してください。

于 2012-08-19T11:08:01.337 に答える