2

現在のビューの下にあるビューのビットマップを推測して、画像をキャプチャする方法または可能かどうかを知っている人はいますか?

したがって、MKMapView (MyMapview) 320x460 として最上位のビューがあるとすると、ポップアップまたは別の uiview (2ndView) 300x300 が MyMapview の上に表示されます。次に、MyMapview と 2ndView の上に 3 番目のビュー (3rdView) 320x320 が表示されます。

だからあなたはで終わる

3rdView 320x320 2ndView 300x300 MyMapview 320x460

今私がやりたいことは、2ndView と MyMapview のすべての画像をキャプチャすることですが、3rdView のフレームの下だけです。

私がやろうとしているのは、ユーザーが iOS7 を使用する必要なく、iOS7 の外観を再現することです。これは、下のビューが透けて見えるようにしたいが、ぼやけていることを意味します。そのため、3rdView アルファを .7 にするだけでなく、3rdViews の一番下のレイヤーとして UIImageView を含めることも考えました。次に、下にあるビューのスナップショットを撮り、ぼかして、UIImageView に保存します。現在、私の 3rdViews の背景は、下にあるビューのスナップショットですが、ぼやけています。

または、誰かがこれを行うためのより言語ベースの方法を持っていますか? この背景画像をフォトショップで作成してぼかしてからインポートすることはできません。一番下のビューがライブ mkmapview であるためです (つまり、シカゴの地図のスナップショットを作成し、ぼかして、地図がダラスの上にある可能性があるためインポートすることはできません)。パリ。

4

1 に答える 1

1

このメソッドはビューを画像に変換します:

UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

あなたができることは、トップビューを削除してから、必要なビューの画像を取得して、トップビューを再度追加することです..うまくいくことを願っています.

于 2013-06-18T21:26:52.557 に答える