发送当前在滚动视图上可见的图像的发布请求

时间:2015-03-18 20:33:02

标签: ios objective-c post uiscrollview

我有一个简单的按钮。当用户点击它时,他们可以选择多个图像,然后通过滚动它们在滚动视图中查看它们。

用户只能看到一张图片。要查看他们需要滚动的其他图像。

现在我需要发送滚动视图中可见的当前图像的发布请求。

任何人都可以帮助我吗?

目前我可以发送用户选择的第一张图片的发布请求。但是当用户滚动然后当他们停在某个图像时,我需要发送当前可见图像的发布请求。

我在scorllview上显示多张照片的方法。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [self dismissViewControllerAnimated:YES completion:nil];

    workingFrame = _scrollView.frame;
    workingFrame.origin.x = workingFrame.size.width*ButtonNumberTimesPressed;
    image=[info valueForKey:@"UIImagePickerControllerOriginalImage"];
    ButtonNumberTimesPressed++;
    [self.images addObject:image];

    imageView = [[UIImageView alloc] initWithImage:image];
    [imageView setContentMode:UIViewContentModeScaleToFill];
    imageView.frame = workingFrame;
    [_scrollView addSubview:imageView];

    workingFrame.origin.x += workingFrame.size.width;
    [_scrollView setPagingEnabled:YES];

    [_scrollView setContentSize:CGSizeMake(workingFrame.origin.x, workingFrame.size.height)];
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}

发送帖子请求的方法

- (IBAction)uploadPhoto:(id)sender {
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer new];

    NSDictionary *parameters = @{@"HI": @"Hello"};
    [manager POST:@"http://requestb.in/1c69jt31" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:UIImageJPEGRepresentation(imageView.image,0.5) name:@"FileUploadPost" fileName:@"image.jpg" mimeType:@"image/jpeg"];
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSData * data = (NSData *)responseObject;
        NSLog(@"Success,Response string: %@", [NSString stringWithCString:[data bytes] encoding:NSISOLatin1StringEncoding]);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];

}

1 个答案:

答案 0 :(得分:0)

在您的情况下,我会实施UIScrollViewDelegate的{​​{1}}方法。在这个方法中,我使用scrollViewDidScroll:的{​​{1}}属性来找出当前可见的图像(基于UIScrollView的'frame'属性的坐标)。使用这种方式,每次用户完成滚动时,您将能够找到当前可见的图像并发出正确的POST请求。