cor*_*ers 12 objective-c ios6 uiactivity uiactivityviewcontroller
如果有人能提供一些见解,那就是徘徊.对于我的生活,我无法弄清楚如何使用UIActivityTypeMessage发送UIImage,尽管有人说这是可能的.
UIActivityTypeMessage
该对象将提供的内容发布到消息应用程序.使用此服务时,可以提供NSString和NSAttributedString对象作为活动项的数据.您还可以指定其内容使用sms方案的NSURL对象.适用于iOS 6.0及更高版本.在UIActivity.h中声明.
所以根据我的理解,我只能发送NSString/NSURL.我不认为你有可能.
我正在使用这个:
UIImage *image; // some image here.
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[ image ] applicationActivities:nil];
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
虽然在 iOS6 中使用 UIActivityViewController 似乎可以让消息应用程序出现在共享表中,但要使其正常工作有一些秘密——iOS7 则不同,将 NSURL 传递给资产可以开箱即用。
不确定您是否从 ALAssetsLibrary 获取图像,但如果是这样,请使用其 NSURL 获取 ALAsset,而不是拉取 UIImage。共享表只需一小部分时间即可出现。这不完全是我正在使用的代码,但类似。但在 iOS6 上,只要附加了图像,活动视图控制器就不会显示消息应用程序。
- (void) presentActivityViewController:(ALAsset*) asset {
// add this to your viewController class
NSDictionary *urls = [asset valueForProperty:ALAssetPropertyURLs];
NSURL *url;
if ([urls count]) {
for (NSString *key in urls) {
// I'm making an assumption that the URL I want is the first URL in the dictionary
url = [urls objectForKey:key];
break;
}
}
NSArray *activityItems = @[url];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11135 次 |
最近记录: |