【问题标题】:I am using UIActivityViewController , But it rotates images if I share it on Facebook, Email etc我正在使用 UIActivityViewController ,但如果我在 Facebook、电子邮件等上分享它,它会旋转图像
【发布时间】:2015-10-22 10:14:36
【问题描述】:

我正在使用UIActivityViewController 来分享图片。 因为它在 Facebook 或电子邮件上分享图像。然后图像旋转。为什么会这样?

我的代码如下: ShareArr 包含图像对象

ActivityViewCustomActivity *aVCA = [[ActivityViewCustomActivity alloc]init];
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:shareArr applicationActivities:[NSArray arrayWithObject:aVCA]];
[controller setCompletionHandler:^(NSString *activityType, BOOL completed) { }];
[self presentViewController:controller animated:YES completion:nil];

有什么想法吗?

【问题讨论】:

  • 显示UIActivityViewController 的代码和要分享的图像。
  • ShareArr 包含图像对象ActivityViewCustomActivity *aVCA = [[ActivityViewCustomActivity alloc]init]; UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:shareArr applicationActivities:[NSArray arrayWithObject:aVCA]]; [controller setCompletionHandler:^(NSString *activityType, BOOL completed) { }]; [self presentViewController:controller animated:YES completion:nil];
  • 你做了什么来确保你的图片在分享前没有旋转?
  • 图像在 imageview 上的格式正确。 &它在 facebook 和 twitter 的对话框中正确显示,但当我分享它时。它在 facebook/twiiter 上旋转
  • 这是因为人像图片是横向存储在库中的,并且图片中有一个EXIF标志将其停放在需要旋转的地方。我还不知道怎么解决。我们需要一些方法来设置提供给 UIActivityViewController 的图像中的 EXIF 数据

标签: ios objective-c xcode uiactivityviewcontroller


【解决方案1】:

我知道这是不久前被问到的,但我遇到了同样的问题,这是我的解决方案。

我找到了这个网站bug in UIActivityViewController

这是我在网站上发现有用的段落,

注意:当系统将 UIImage 转换为 MFMailComposeViewController(和其他 UIActivities)的 NSData 时,它似乎不会保留方向信息。这就是为什么当传入一个 NSData 时,它会正确旋转,因为系统不必对其进行转换。

所以这是我在我的案例中使用的部分代码(拍照),

 NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];

     UIImage *image = [[UIImage alloc] initWithData:imageData];

然后来自 UIActivityViewController 的 facebook 函数获取 UIImage 并将其转换回 NSData。所以我所做的是使用 NSData *imageData 并将其直接放入我的 activityViewController。

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2012-09-28
    相关资源
    最近更新 更多