2012-06-27 87 views
0

我希望將背景(UIImageView)合併到覆蓋的UIView(MyView),然後截取合併的圖像。我使用下面的代碼,但背景完全覆蓋了我的UIView ...請提供任何建議嗎?在截取屏幕截圖之前合併UIView和UIImageView

UIImageView *ViewToBeAddedAsBackground = BackgroundImageView;  
ViewToBeAddedAsBackground.frame = CGRectMake(0,0,770,410); 
[MyView addSubview:ViewToBeAddedAsBackground];  

UIGraphicsBeginImageContext(MyView.frame.size); 
[MyView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *MyView_IMAGE = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
UIImageWriteToSavedPhotosAlbum(MyView_IMAGE, nil, nil, nil); 

回答

1

這是因爲要添加ViewToBeAddedAsBackgroundyourView一個subView,所以它通常會覆蓋它,你應該做的是相反的,加yourView作爲ViewToBeAddedAsBackground

子視圖然後

[insertSubview:ViewToBeAddedAsBackground.layer renderInContext:UIGraphicsGetCurrentContext()]; 

你可以嘗試以下,根據您目前的看法heirarcy它可以工作

[MyView.superview insertSubview:ViewToBeAddedAsBackground belowSubview:MyView]; 
UIGraphicsBeginImageContext(MyView.frame.size); 
[MyView.superview.layer renderInContext:UIGraphicsGetCurrentContext()]; 
+0

謝謝!發佈後我立即想到了它。我解決了這個問題[MyView sendSubviewToBack:ViewToBeAddedAsBackground]; 無論如何,謝謝。 – jeddi