0

背景(UIImageView)を上にあるUIView(MyView)に結合してから、マージされた画像のスクリーンショットを撮りたいと思います。以下のコードを使用していますが、背景がUIViewを完全にカバーしています...何か提案がありますか?

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);
4

1 に答える 1

1

これは、のViewToBeAddedAsBackgroundとして追加しているために発生するため、通常はそれをカバーします。逆に、のサブビューとして追加する必要があります。subViewyourViewyourViewViewToBeAddedAsBackground

その後

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

あなたはそれがうまくいくかもしれないあなたの現在の見方の相続人に応じて、以下を試すことができます

[MyView.superview insertSubview:ViewToBeAddedAsBackground belowSubview:MyView];
UIGraphicsBeginImageContext(MyView.frame.size);
[MyView.superview.layer renderInContext:UIGraphicsGetCurrentContext()];
于 2012-06-27T12:20:42.423 に答える