iOS自动布局异常“无法同时满足约束”

时间:2013-12-18 16:53:10

标签: ios7 uisearchbar autolayout uisearchdisplaycontroller

我有一个视图控制器,我有一个tableview和UISearchDisplayController。 我在故事板中为子视图添加了约束。

我正在向UISearchResultTableView添加约束以使其高度-50从底部开始

- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {

问题是当我在UISearchBar中搜索某些内容时。它抛出异常“无法同时满足约束”

我试图添加[tableView setTranslatesAutoresizingMaskIntoConstraints:NO];在添加约束之前,表格不会滚动

- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {

[tableView setTranslatesAutoresizingMaskIntoConstraints:NO];

    NSLayoutConstraint *ccc = [NSLayoutConstraint constraintWithItem:tableView
                                                          attribute:NSLayoutAttributeBottom
                                                          relatedBy:NSLayoutRelationEqual
                                                             toItem:self.view
                                                          attribute:NSLayoutAttributeBottom
                                                         multiplier:1
                                        constant:-50];
    [constraintsArray addObject:ccc];


   [self.view addConstraints:constraintsArray];

}

任何人都可以帮我解决这个问题吗? 感谢

1 个答案:

答案 0 :(得分:0)

正如您所说,您收到一条异常消息“无法同时满足约束”。这意味着您的约束在某处发生冲突。我认为您已在故事板中设置了tableview的约束,但是在代码中添加了另一个约束。因此无法确定是否满足重置tableview框架的约束。只需修理它。