오른쪽 탐색 모음에서 SearchBar에인지 확인하는 경우에, 나는과 같이 자동 레이아웃 사용합니다 :
self.searchBar = [[UISearchBar alloc] init];
self.searchBar.translatesAutoresizingMaskIntoConstraints = NO;
self.searchBar.delegate = self;
self.searchBar.showsCancelButton = NO;
[self.view addSubview:self.searchBar];
id topLayoutGuide = self.topLayoutGuide;
UISearchBar *searchBar = self.searchBar; //updated
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[searchBar]|" options:0 metrics:0 views:NSDictionaryOfVariableBindings(searchBar)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[topLayoutGuide][searchBar]" options:0 metrics:0 views:NSDictionaryOfVariableBindings(searchBar, topLayoutGuide)]];
편집 :
내가 한 일부 검색하고 그것이 갭이 아니라는 것을 발견했습니다. Apple이 사물을 제 위치로 나누기 위해 사용하는 이미지입니다. 접근 할 수있는 많은 옵션이 있습니다
1) 검색 및 삭제 - UIImageView를 찾아서 바에서 제거하십시오.
Remove UIToolbar hairline in iOS 7
2) 귀하의 바
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
감사에 대한 설정 사용자 정의 배경. constraintsWithVisualFormat에 오류가 발생했습니다. 그것은 searchBar가 뷰 사전의 핵심이 아니라고 말합니다. 나는 다른 몇 가지 시도와 같은 오류가 발생합니다. 도움에 다시 한번 감사드립니다. – user1681673
내가 추가 한 추가 줄을 사용하여 다시 시도하십시오. – Byte
변경 사항으로 코드를 시도했습니다. 빌드 된 코드이지만 뷰는 그림과 동일하게 보입니다. – user1681673