【问题标题】:Email Sharing using UIActivityViewController使用 UIActivityViewController 进行电子邮件共享
【发布时间】:2014-09-09 11:12:16
【问题描述】:

我正在使用 UIActivityViewController 进行电子邮件、facebook、twitter 和短信共享..

我已成功分享图片和文字。

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

如果是,请告诉我怎么做。

提前致谢。

【问题讨论】:

  • 分享UIView?什么意思?

标签: ios objective-c uiactivityviewcontroller


【解决方案1】:

您可以从UIView 获得UIImage

如果您只支持 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;
}

【讨论】:

  • 呜呜呜……!!!太棒了...非常感谢...!!!!你的第一个解决方案对我有用..
  • 很高兴听到这个消息,从向上移植的 iOS 开始注意,第一个是 iOS7+
【解决方案2】:

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

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

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

UIView得到UIImage后,可以分享合适的图片。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多