7

検索バーがフォーカスされると、実際の tableView がぼやけます (アルファを変更しますか?)。これを実装しようとしています。

過負荷になると

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar

私は次のようなことをしようとしています

self.tableView.alpha = .5f

しかし、実際のsearchBarのアルファを変更するか(searchBarを独自に持っている場合)、またはIBのtableViewの下にsearchBarがある場合はテーブル全体(searchBarを含む)のアルファを変更しています。

ここで何が間違っていますか。すべてではなく、テーブルを暗くするにはどうすればよいですか。

私が本当に理解できていないのは、これらすべてが画面上でどのようにレイヤー化されるかということです。

編集:連絡先アプリケーションは、私がやろうとしていることの良い例です。

4

3 に答える 3

10

そのようなアプリのほとんどは、テーブルの上に黒い背景の UIView をスローし、検索バーがフォーカスを得るとフェードインします (.5 のアルファまで)。

于 2010-02-07T22:01:23.463 に答える
2

を使用するUISearchDisplayControllerと、この動作が無料で得られます。

于 2012-04-10T22:22:24.783 に答える
-1

iOS 8 (および少なくとも iOS 9.2 まで) 以降では、UISearchController. 残念ながら、現在、インターフェイス ビルダーは非推奨になった のみをサポートしていますUISearchDisplayController。したがって、これは、薄暗い効果を含めて、プログラムでテーブル ビュー コントローラーに追加する方法です。

let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
    super.viewDidLoad()

    // Use the current view controller to update the search results:
    self.searchController.searchResultsUpdater = self
    self.searchController.dimsBackgroundDuringPresentation = true
    self.tableView.tableHeaderView = searchController.searchBar
}
于 2016-02-19T22:32:24.350 に答える