私は、Apple が公開した iOS 7 のサンプル画面から、このぼやけた背景を再現しようとしています。
この質問では、以下のコンテンツに CI フィルターを適用することを提案していますが、これはまったく異なるアプローチです。iOS 7 では、さまざまな理由から、以下のビューのコンテンツがキャプチャされないことは明らかです。
- 大まかなテストを行い、以下のビューのスクリーンショットをキャプチャし、iOS 7 のぼかしスタイルを模倣するのに十分な半径を持つ CIGaussianBlur フィルターを適用すると、シミュレーター上でも 1 ~ 2 秒かかります。
- iOS 7 のぼかし表示では、ビデオやアニメーションなどの動的なビューを、目立った遅延なくぼかすことができます。
この効果を生み出すためにどのようなフレームワークを使用できるのか、また、現在公開されている API を使用して同様の効果を生み出すことができるかどうかを推測できる人はいますか?
編集: (コメントより) Apple がどうやっているのか正確には分かりませんが、何か基本的な仮定は立てられますか? ハードウェアを使用していると仮定できますか?
エフェクトは各ビューに自己完結型で、エフェクトは実際にはその背後にあるものを認識しないのでしょうか? それとも、ぼかしの仕組みに基づいて、ぼかしの背後にあるコンテンツを考慮する必要がありますか?
エフェクトの背後にあるコンテンツが関連している場合、Apple は下のコンテンツの「フィード」を受信し、継続的にぼかしを加えてレンダリングしていると想定できますか?
ベストアンサー1
なぜ効果を複製する必要があるのでしょうか? ビューの背後に UIToolbar を描画するだけです。
myView.backgroundColor = [UIColor clearColor];
UIToolbar* bgToolbar = [[UIToolbar alloc] initWithFrame:myView.frame];
bgToolbar.barStyle = UIBarStyleDefault;
[myView.superview insertSubview:bgToolbar belowSubview:myView];