2013-12-18 4 views
1

나는보기 컨트롤러가 있고 테이블 뷰와 UISearchDisplayController가 있습니다. 스토리 보드에 하위보기에 대한 제약 조건을 추가했습니다.iOS autolayout 예외 "동시에 제약 조건을 만족시킬 수 없습니다"

나는 높이를 만들기 위해 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]; 

} 

누구든지 나를 도와 드릴까요? 감사합니다.

답변

0

당신이 말했듯이 "제한 조건을 동시에 만족시킬 수 없습니다"라는 예외 메시지가 나타납니다. 그것은 당신의 제약이 어딘가에서 충돌하고 있음을 의미합니다. 스토리 보드에서 테이블 뷰의 제한을 설정했다고 생각하지만 코드에 다른 제약 조건을 추가합니다. 따라서 테이블 뷰의 프레임을 재설정하는 제약 조건을 충족 시킬지를 결정할 수 없습니다. 그냥 고쳐주세요.

+0

제약 조건은 tableView가 아닌 ​​storyboard의 UISearchDisplayController에 추가됩니다. 내 문제는 [tableView setTranslatesAutoresizingMaskIntoConstraints : NO] 뒤에 추가 할 제약 조건입니다. – Tarang

관련 문제