2

UISearchBar を使用するための標準 UI と思われるものを模倣したいのですが、現在、検索を開始するときにビューの残りの部分を灰色にしようとしています。ビューの背景色を灰色ですが、UITableView でセクションを使用していますが、灰色に変わっていません。それがなぜなのか、誰か理由がありますか?

検索バー使用時の UITableView

4

2 に答える 2

5

セクション ヘッダーがグレーにフェードしない理由は、ヘッダーがグレーの背景の上に描画され、不透明であるためです。つまり、それらalphaは 1 です。

必要な効果を得るための提案を探している場合、私の最初の反射は、UIView「グレー表示」したい領域のサブビューとしてオーバーレイを追加し、特定のイベントが発生したときに背景色を変更することです。このようなもの:

// You have to choose what view is the one that needs to be grayed out.
// I'll call the view you want to gray out "viewToBeGrayed"

UIView *grayOverlay = [[UIView alloc] initWithFrame:viewToBeGrayed.frame];

// Initially, the overlay should be clear
[grayOverlay setBackgroundColor:[UIColor clearColor]];

[viewToBeGrayed addSubview:grayOverlay];

次に、「グレーアウト」したい場合はviewToBeGrayed、背景色をgrayOverlay半透明のグレー値に変更するだけです:

[grayOverlay setBackgroundColor:[UIColor colorWithWhite:0.5 alpha:0.5]];

最後に、「グレーアウト」効果を取り除きたい場合は、ビューをクリアに戻します。

[grayOverlay setBackgroundColor:[UIColor clearColor]];

そこから始めるのがよいでしょう。追加のヘルプが必要な場合はコメントしてください。

于 2012-07-11T20:35:04.440 に答える
3

UISearchControllerテーブルビュー検索のニーズに合わせて標準を使用してください。

于 2012-07-11T20:34:34.847 に答える