使用UIActivityViewController进行电子邮件共享

时间:2014-09-09 11:12:17

标签: ios objective-c uiactivityviewcontroller

我正在使用UIActivityViewController进行电子邮件,脸书,推特和短信分享..

我已经成功分享了图片以及文字。

但是,现在我想分享UIView。我想知道它有可能吗?

如果是,请告诉我如何。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以从UIImage

获得UIView

如果您只支持iOS7 +,那么您应该使用以下内容:

+ (UIImage *) imageWithView:(UIView *)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0f);
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
    UIImage * snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return snapshotImage;
}

否则请使用:

#import <QuartzCore/QuartzCore.h>

+ (UIImage *) imageWithView:(UIView *)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return img;
}

答案 1 :(得分:0)

您可以截取UIView对象的屏幕截图。请参阅以下主题:

How to capture UIView to UIImage without loss of quality on retina display

  

我已经成功分享了图片以及文字。

UIImage获取UIView后,您可以分享合适的图片。