7

UI 全体に青みがかったテーマのアプリがあります。また、最初のビューのナビゲーション バーに検索バーが埋め込まれています。アプリのボタンのテキストの色は白で、アプリのデリゲートで次を使用して宣言します。

    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

問題は、検索バーに影響を与える白い色合いのために、埋め込み検索バーが選択されたときにカーソルを非表示にすることです。2 つの方法を使用して検索バーの色合いを [UIColor blueColor] に具体的に設定しようとしましたが、うまくいきませんでした。UISearch バーを参照しようとした 2 つの方法は次のとおりです。

    [self.navigationController.searchDisplayController.searchBar setTintColor:[UIColor blueColor]];

    [searchBar setTintColor:[UIColor blueColor]]

searchBar を適切に参照する必要があります。

これらのアウトレットに対して何をしても、埋め込み検索バーにはまったく影響しません。

4

3 に答える 3

1

それをサブクラス化すると、statusBarStyle を制御する機能も得られます。

import UIKit

class SearchController: UISearchController {
    override func viewDidLoad() {
        super.viewDidLoad()
        searchBar.tintColor = UIColor.tintColor()
        searchBar.barTintColor = UIColor.backgroundColor()
    }

    override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .LightContent
    }
}

ここに画像の説明を入力

于 2016-07-31T19:37:24.913 に答える