2013-06-18 73 views
2

有誰知道如何捕獲當前視圖下面的視圖的圖像,猜測位圖嗎?捕獲頂部uiview下的uiview圖像

因此,假設您將最頂層的視圖作爲MKMapView(MyMapview)320x460,那麼彈出窗口或其他uiview(2ndView)300x300會顯示在MyMapview上方。然後第三個視圖(3rdView)320x320顯示在MyMapview和2ndView之上。

所以你最終

3rdView 320×320 2ndView 300x300的 MyMapview 320x460

現在我要做的就是捕捉2ndView和MyMapview一切的圖像,但只有在3rdView的框架。

我想要做的是重建iOS7的外觀,而不需要用戶在iOS7上。這意味着我希望下面的視圖能夠展示,但是會變得模糊。所以我想我會在.7製作3rdView alpha,但也包含一個UIImageView作爲3rdViews最底層。然後我拍下下面的視圖,模糊它,並存儲在我的UIImageView中。現在我的3rdViews背景是下方視圖的快照,但模糊不清。

或者有人有這樣做的更基於語言的方式?我無法在Photoshop中創建此背景圖像,然後將其導入,因爲最底層的視圖是實時mkmapview(意味着我無法爲芝加哥地圖創建快照,模糊它並將其導入,因爲地圖可能會覆蓋達拉斯或巴黎

回答

1

這種方法將改變視圖到圖像:

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

UIImage * img = UIGraphicsGetImageFromCurrentImageContext(); 

UIGraphicsEndImageContext(); 

你可以做的是去除頂視圖,然後得到你想要的視角的圖像,然後再添加俯視圖..希望它可以工作

+0

關閉,但我需要一個所有視圖的圖像不只是一個。或者,如果我需要分別捕獲圖像,那麼我怎麼才能將它們組合成一個 – jdog

+0

好吧,選擇你想要的最低視圖作爲「視圖」。假設你在底部有view1,view2,view3和view4在頂部......並且你希望圖像中的所有內容都從view1到view3。刪除view4,並使用你想要的最低的視圖(在我的案例view1)..所以[view1.layer渲染....],它應該把所有的東西放在上面,並把它放在一個圖像... – DrDev