以编程方式通过电子邮件发送带有某些子视图但不包含其

时间:2012-08-09 12:06:09

标签: objective-c ios rendering

我正在开发一些可以创建电子邮件并附加屏幕图像供用户发送的内容。我正在使用以下代码来创建和附加图像。

    UIGraphicsBeginImageContext([self.view frame].size);
    [[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIGraphicsBeginImageContext([self.view bounds].size);
    [myImage drawInRect:CGRectMake(0, 0, [self.view bounds].size.width,[self.view bounds].size.height)];
    myImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    NSData *imageData = UIImagePNGRepresentation(myImage);
    [mailer addAttachmentData:imageData mimeType:@"image/jpg" fileName:@"blah"];

但是,这包括所有子视图,我想要排除工具栏和分段视图,只留下工具栏上方的视图和该视图中的文本字段。我已经标记了所有相关的视图和子视图,但是如何使用这些标记创建包含我想要的图像并排除我不想要的内容?

1 个答案:

答案 0 :(得分:3)

在渲染图像之前,将您不想显示的所有视图设置为隐藏。 我有几个应用程序完成同样的事情,这就是我的工作。

renderInContext和相关功能基本上都是截屏,所以WYSIWYG