2013-09-24 7 views
0

프로그래밍 방식으로 내 앱에 UISearch를 추가했으며 UINavigation 바가 인터페이스 작성기에 추가되었습니다. 검색 창을 추가했을 때 검색 창과 탐색 모음 사이에 작은 간격이있었습니다. 함께 병합 할 수있는 방법이 있습니까? 감사.UINavigationBar와 UISearchBar 사이의 작은 차이

Screenshot

self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 44.0)]; 
self.searchBar.delegate = self; 
self.searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
self.searchBar.showsCancelButton = NO; 
[self.view addSubview:self.searchBar]; 

답변

1

오른쪽 탐색 모음에서 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]; 
+0

감사에 대한 설정 사용자 정의 배경. constraintsWithVisualFormat에 오류가 발생했습니다. 그것은 searchBar가 뷰 사전의 핵심이 아니라고 말합니다. 나는 다른 몇 가지 시도와 같은 오류가 발생합니다. 도움에 다시 한번 감사드립니다. – user1681673

+0

내가 추가 한 추가 줄을 사용하여 다시 시도하십시오. – Byte

+0

변경 사항으로 코드를 시도했습니다. 빌드 된 코드이지만 뷰는 그림과 동일하게 보입니다. – user1681673