0

如何使用 ActivityViewController 从 imagescrollview 共享图像。

下面是在 imagescrollview 中显示图像的代码

UIScrollView *imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
   imageScrollView.pagingEnabled = YES;
NSInteger numberOfViews = 61;
for (int i = 0; i < numberOfViews; i++) {
    CGFloat xOrigin = i * self.view.frame.size.width;
NSString *imageName = [NSString stringWithFormat:@"image%d.png", i];
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.frame = CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height);
 [imageScrollView addSubview:imageView];

尝试使用 activityviewcontroller 从 imagescrollview 共享图像,但在第一条语句中以红色显示预期的表达式

NSArray *activityItems = @[UIImage imageNamed:]imageView];// **getting message in red expected expression**
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePrint ];
[self presentViewController:activityViewController animated:YES completion:NULL];
[activityViewController release];

感谢帮助。

4

2 回答 2

1

您正在将图像分配给 Array 的对象,并且您的语法也是错误的..所以这就是为什么您会收到红色预期表达式的消息this..

试试这个代码而不是你的代码

NSMutableArray * activityItems = [[NSMutableArray alloc]init];
for (int i = 0; i < numberOfViews; i++) {
    CGFloat xOrigin = i * self.view.frame.size.width;
    NSString *imageName = [NSString stringWithFormat:@"image%d.png", i];
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.frame = CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height);
    [imageScrollView addSubview:imageView];
    [[activityItems addObject:imageView];
}
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePrint ];
[self presentViewController:activityViewController animated:YES completion:NULL];
[activityViewController release];
于 2012-10-05T12:05:46.100 回答
1

首先将图像存储在数组中,然后在将图像添加到滚动视图的 forLoop 中,然后

NSArray *activityItems = [NSArray arrayWithArray:imageArray];  //imageArray is the nsmutablearray in which you shall store the images
于 2012-10-05T11:29:29.633 回答