我有一个简单的按钮。当用户点击它时,他们可以选择多个图像,然后通过滚动它们在滚动视图中查看它们。
用户只能看到一张图片。要查看他们需要滚动的其他图像。
现在我需要发送滚动视图中可见的当前图像的发布请求。
任何人都可以帮助我吗?
目前我可以发送用户选择的第一张图片的发布请求。但是当用户滚动然后当他们停在某个图像时,我需要发送当前可见图像的发布请求。
我在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);
}];
}
答案 0 :(得分:0)
在您的情况下,我会实施UIScrollViewDelegate
的{{1}}方法。在这个方法中,我使用scrollViewDidScroll:
的{{1}}属性来找出当前可见的图像(基于UIScrollView
的'frame'属性的坐标)。使用这种方式,每次用户完成滚动时,您将能够找到当前可见的图像并发出正确的POST请求。