SearchBarController在多个自动布局约束的情况下,搜索栏隐藏tableview单元格

时间:2016-12-08 08:44:17

标签: ios objective-c uitableview

我在视图控制器中有两个视图,第一个是uitableview,第二个是底部修复的UIView。我为两个视图设置了autolayout约束,表位于顶部,第二个固定在底部,在表视图中我添加了搜索栏。在视图加载中,所有内容都呈现正常,但只要搜索栏处于活动状态,前两个单元格就会在导航栏下滑动。如果我删除底部视图和底部约束,一切正常。

以下是运行

的示例代码
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero
                                                  style:UITableViewStylePlain];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    self.tableView.rowHeight = UITableViewAutomaticDimension;
    self.tableView.estimatedRowHeight = 80;
    self.tableView.tableFooterView = [UIView new];
    [self.view addSubview:self.tableView];
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.leading.trailing.top.mas_equalTo(self.view);
        make.bottom.equalTo(self.bottomToolBar.mas_top);

    }];

    self.definesPresentationContext = YES;


    self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
    self.searchController.searchResultsUpdater = self;
    self.searchController.dimsBackgroundDuringPresentation = NO;

    // Configure the search bar with scope buttons and add it to the table view header
    self.searchController.searchBar.scopeButtonTitles = @[@"Country",@"Capital"];

    self.searchController.searchBar.delegate = self;

    self.tableView.tableHeaderView = self.searchController.searchBar;

    self.definesPresentationContext = YES;
    [self.searchController.searchBar sizeToFit];

0 个答案:

没有答案