私のアプリケーションのUI内にUISearchControllerを配置しようとしています。レイアウトは次のとおりです。クリックしたときにUISearchBarのフレーム/境界が変更される
- 黄:ViewControllerを
- レッド:別のViewController
- ブラック:YellowViewController
私はのUISearchViewを入れたい内のコンテナ黒いコンテナ内のUISearchController。
私のコードは次のようである:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsViewController];
UISearchBar* searchBar = self.searchController.searchBar;
searchBar.frame =_searchBarContainer.bounds;
[_searchBarContainer addSubview:searchBar];
[_searchBarContainer layoutIfNeeded];
それは正しい場所にUISearchBarを配置します
しかし、私は検索フィールドを選択した場合には、コンテナの境界を超えるバーを拡大します:
これを解決し、サイズ/外観の変更を避けるにはどうしたらいいですか?
注:translatesAutoresizingMaskIntoConstraints
オプションとclipToBounds
オプションで再生するオプションを試してみましたが、成功しませんでした。私はiOSのUIの専門家ではないので、私は正確な答えを感謝します。ありがとう
固定幅または固定最大幅を設定しましたか? – SteeBono
searchBar.frameをサブビューに追加する前にsearchBar.frameを設定してください。 – SteeBono
@SteeBonoサンプルコードでは、前にsearchBarフレームを設定しています:( – Addev