我正在使用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];
有什么想法吗?
答案 0 :(得分:0)
我知道这是在前一段时间被问到的,但我遇到了同样的问题,这是我的解决方案。
我找到了这个网站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。
希望这有助于某人。