Objective c 合并并保存两个UIImageView

Objective c 合并并保存两个UIImageView,objective-c,cocoa-touch,ios,uiimageview,Objective C,Cocoa Touch,Ios,Uiimageview,我的项目有两个UIImages,一个名为imageView,一个名为Birdie - (UIImage *)addImage:(UIImage *)imageView toImage:(UIImage *)Birdie { UIGraphicsBeginImageContext(imageView.size); // Draw image1 [imageView drawInRect:CGRectMake(0, 0, imageView.size.width, imag

我的项目有两个
UIImages
,一个名为
imageView
,一个名为
Birdie

- (UIImage *)addImage:(UIImage *)imageView toImage:(UIImage *)Birdie {
    UIGraphicsBeginImageContext(imageView.size);

    // Draw image1
    [imageView drawInRect:CGRectMake(0, 0, imageView.size.width, imageView.size.height)];

    // Draw image2
    [Birdie drawInRect:CGRectMake(0, 0, Birdie.size.width, Birdie.size.height)];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return resultingImage;
}

-(void)captureScreen{
    UIImageWriteToSavedPhotosAlbum(resultingImage, nil, nil, nil);
}
这是我的代码,
captureScreen
按钮用于保存图像。它不起作用,因为
resultingImage
未声明,但我对Xcode非常陌生,所以我不知道如何解决这个问题

非常感谢

  `resultingImage` 
不是全局变量,其范围仅限于
-(UIImage*)addImage:(UIImage*)imageView to image:(UIImage*)Birdie
方法必须调用此方法并使用此方法返回的对象

-(void)captureScreen{
     UIImage *resultingImage = [self addImage:yourFirstImage toImage:yourSecondImage];
    UIImageWriteToSavedPhotosAlbum(resultingImage, nil, nil, nil);
}
蒂姆, 有一点您应该记住,我们不能直接调用'drawRect'方法。 它将被系统调用。 因此,在这里您应该使用UIImage可用的其他方法。
您可以使用“ImageName:”方法……

您可以这样做

将此
-(void)captureScreen:
方法重写为
-(void)captureScreen:(UIImage*)图像保存

然后在你的按钮动作像

-(iAction)myButton:(id)发送方{
[自我捕获屏幕:[自我添加图像:图像查看图像到图像:小鸟图像]]

}

谢谢您回答我的问题。我试图用您发布的代码替换“captureScreen”。但当我按下按钮时,应用程序似乎崩溃了。再次感谢!在顶部代码(-UIImage…):“imageView”的局部声明隐藏实例变量。”“Birdie”的局部声明隐藏实例变量。“buttonvoid”部分:“不兼容的Objective-C类型“struct UIImageView*”,传递“addImage:ToImagee:”的参数1时应为“struct UIImage*”。提前感谢!蒂姆,你不能用UIImage这样的。。。。您必须使用UIImageView。。。。1.创建UIImageView对象。。。。使用initWithFrame:方法2。使用我前面提到的方法3创建UIImage obj。在UIImageView对象4上设置此图像。在ur视图5上添加此UIImageView对象。创建另一个UIImageView对象,但使用diff frame,以便两个UIImageView对象不会重叠6。做其他事情:创建UIImage obj并将其设置为此UIImageView obj,现在在您的视图上添加第二个UIImageView。在您可以获取图形上下文并使用它之后,您对UIImage对象使用了错误的方法…[drawRect]。。。。。。这是坠机的原因…谢谢你的评论,但我只是新手,所以我不明白整个事情。我要替换drawRect做什么,这样它才不会崩溃,整个过程才能正常工作?提前感谢!