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