0

为什么当我一直选择第二张或任何其他图像时它只将第一张图像从滚动视图保存到相册

- (void)handleLongPress:(UILongPressGestureRecognizer*)gestureRecognizer{
//CGPoint gesturePoint = [_gesture locationInView:_imageScrollView]; 
if (gestureRecognizer.state == UIGestureRecognizerStateBegan){
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Save Photo", nil];
    actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
    [actionSheet showInView:self.view];
    [actionSheet release];

}}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
switch (buttonIndex) {
    case 0:
         for (int i = 0; i<=61; i++) {
             NSString *imageName = [NSString stringWithFormat:@"image%d.png", i];
             UIImage *image = [UIImage imageNamed:imageName];
             UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
             //if     (CGRectContainsPoint(_myButton.frame,gesturePoint)){  
        UIImageWriteToSavedPhotosAlbum(imageView.image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);

       break;

    default:
        break;
} }}

它应该始终保存选定的图像。

请帮忙。

谢谢

4

1 回答 1

0

您的代码有几个问题。

  1. 您正在创建一个UIImageView但您没有使用它,只是图像。这个对象真的没有用。

  2. 您应该检查image0.png, image1.png,是否image2.png真的存在。一个简单的NSLog陈述会告诉你。如果他们是nil,那么他们没有得救也就不足为奇了。

  3. 您的代码中没有任何地方引用选择,您只需使用硬编码的 62 张图像。如果存在,您的imageNamed方法会将这些从应用程序包中提取出来。

于 2012-10-10T20:56:29.823 回答