1
新しいiOS-11 searchBarのアプローチを有効にしようとしていますが、管理しません。検索バーは、その隣の代わりに、アップ示しているが、左のバーボタンの下に表示されます。iOS 11 showBarをleftBarButtonItemの隣にあるナビゲーションバーに表示
それは風景モードでも同じです。 私が使用しているコードは次のとおりです。
self.searchResults = [[SearchResultsTable alloc] init];
self.searchResults.delegate = self;
searchController = [[UISearchController alloc] initWithSearchResultsController:self.searchResults];
searchController.searchResultsUpdater = self.searchResults;
searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = YES;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
target:self
action:@selector(swapToListView:)];
if ([self.navigationItem respondsToSelector:@selector(setSearchController:)]) {
// only available from IOS-11 onwards
self.navigationItem.title = nil;
self.navigationItem.titleView = nil;
[self.navigationItem setSearchController:searchController];
} else {
// Fallback on earlier versions
self.navigationItem.titleView = searchController.searchBar;
}
古いコードは、前のiOS-11システム上で正常に動作しますが、iOSの-11上の他の問題を抱えているので、私は新しいアプローチを使用することを好みます。 ここで間違っていることは誰でも知っていますか?
はい、これはiOS-10以前のバージョンで正常に機能していた古いアプローチです。しかし、iOS-11ではそのアプローチに大きなサイジングの問題があります。私はiOS-11の最終的な作業を手に入れましたが、手作業によるサイジングがたくさんありました。 – fishinear