1
iOS 11에 코드를 적용하면 UINavigationController에있는 UISearchbar에 어려움을 겪고 있습니다. 나는이 같은 SearchController/SearchBar에 설정 :iOS 11에서 잘못된 위치에있는 UISearchBar
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchBar.scopeButtonTitles = @[@"foo", @"bar"];
self.searchController.searchBar.showsScopeBar = YES;
self.searchController.searchResultsUpdater = self;
self.searchController.searchBar.delegate = self;
self.searchController.delegate = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = YES;
if (@available(iOS 11.0, *))
{
self.navigationItem.searchController = self.searchController;
self.navigationItem.hidesSearchBarWhenScrolling = YES;
UISearchBar *searchbar = self.searchController.searchBar;
[searchbar setSomeColors];
}
우리의 기본 색상을 사용하여, 일을 확인 보일 수 있습니다,하지만 SearchBar에와 ScopeButtons 사이의 공간은 약간 너무 큰 있습니다 가의 backgroundColor로 변경 검색 창에 잘못된 내용이 표시됩니다.
따라서 UISearchBar는 수퍼 뷰에서 너무 높게 배치됩니다. 누구든지 iOS 11에서이 동작을 일으키는 원인을 알 수 있습니까?
UISearchBar.h
보기 ...이에서 iOS 5부터 존재, 아무 생각이 없었다. – nikhil거기에 UISearchBar는 내가 필요한 것을 수행하는 searchFieldBackgroundPositionAdjustment라는 속성을 가지고 있습니다. 이 속성을 지정된 오프셋으로 설정하면됩니다. – Tobias