UISearchBar
を次のように設定しました。
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false // Allow user to tap on results
searchController.searchBar.placeholder = "Search patients" // Placeholder
searchController.searchBar.barStyle = .blackOpaque
searchController.searchBar.tintColor = colors.text // Cancel button tint
navigationItem.searchController = searchController // Set the searchController
navigationItem.hidesSearchBarWhenScrolling = true // Auto-hide search when user scrolls
IOS 12では次のようになります。 vs iOS 13: iOS 13で何が変更されましたか?別のbarStyles
を試してみて、.isTranslucent
to false-どちらにも影響しません。ライト/ダークモードも何も変更しません。
その他の変更点は、検索バーを非表示にすることです。iOS12では、上方向に少しスクロールすると、検索バーが非表示になります(テーブルにデータが入力されているかどうかは関係ありませんでした)。 iOS 13では、検索バーが表示されると(つまり、ユーザーが下にスワイプすると)、再び非表示にすることはできません。誰もがこれの修正を知っていますか?
searchBarStyle
をdefault
として使用し、searchTextField
背景色を変更するにはどうすればよいですか?
if #available(iOS 13.0, *) {
searchBar.searchBarStyle = .default
searchBar.searchTextField.backgroundColor = UIColor.black.withAlphaComponent(0.1)
}
AppDelegate
のようにグローバルに設定する場合:
if #available(iOS 13, *) {
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).backgroundColor = .anyColor
}
searchController.searchBar.searchTextField.backgroundColor = UIColor.black
は、回避策としてその仕事をします。セレクターはiOS 13の新機能です。
とにかくフィードバックアシスタントについての報告を提出しました。これは予想外の動作だと思います。