좋아, 나는 객관적인 C에 상당히 익숙하다. 웹 서버에서 이미지 목록을 다운로드하고 슬쩍 제스처를 사용하여 UIImage보기에 적절한 것들을 표시하는 앱이있다. 다음/이전 사진이 표시되도록 앞으로 또는 뒤로 이동하십시오. 사진에 대한 현재의 이름 형식은 다음과 같이이다 : 이미지 다운로드, UIImageView 및 SORT에 표시하기
uploaded_141_admin1.png
uploaded_141_admin2.png
uploaded_141_interior1.png
uploaded_141_interior2.png
uploaded_141_exterior1.png
현재 코드로드
(또는 사용자가에에 ... (141)는 가변 무엇이든 기록 파일 이름의 중간 부분 (141)이보기에 모든 그림 이 예에서는 형식의 예를 보려면 여기에 표시). 문제는, 어떤 운문이나 이유가 없다는 것입니다. 알파벳 순서로 파일 이름의 마지막 부분을 사용하거나 (또는 전체 파일 이름을 사용하여 동일한 결과를 얻을 수 있기를 바랍니다.). 내가 검색 한 나는 내가 사용하고 어쩌면 때문에 (무엇을 찾고 찾을 수 없습니다uploaded_141_admin1.png
uploaded_141_admin2.png
uploaded_141_exterior1.png
uploaded_141_interior1.png
uploaded_141_interior2.png
다음 uiimageiew을 통해 보내 주시면 때 위의 예에서는 다음과 같은 순서로 다운로드 한 사진을 표시 할 것 잘못된 검색 기준). 다음은 UIImageView에서 이미지를 다운로드하고 표시하는 기존 코드입니다. 나는 "종류"코드가 여기에 어디 갈 것입니다 가정 : 당신이 다운로드 작업을 시작하기 전에 downloadPictures:
방법에서
-(void)downloadPictures:(NSArray *)picPaths {
ELog(@"Downloading pictures: %@",picPaths);
// wait indicator
[[WaitingView sharedInstance] setMessage:LocStr(@"Loading pictures... The more pictures there are, the longer this will take. Please be patient.")];
[[WaitingView sharedInstance] showIndicator:YES];
[[WaitingView sharedInstance] displayOn:[self view]];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// queue download operation
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
NSInvocationOperation *downloadOp = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(downloadOperation:) object:picPaths];
[queue addOperation:downloadOp];
}
-(void)downloadOperation:(NSArray *)picPaths {
NSMutableArray *allPictures = [[NSMutableArray alloc] init];
for(NSString *path in picPaths) {
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@%@/%@/%@",SERVER_ADDRESS,SERVER_PORT,SERVER_PHOTOS,path]];
NSData *picData = [NSData dataWithContentsOfURL:url];
if(picData!=nil) {
UIImage *img = [UIImage imageWithData:picData];
if(img!=nil) {
[allPictures addObject:img];
} else {
ELog(@"Failed to convert data to image from url %@",url);
}
} else {
ELog(@"Failed to download image from url %@",url);
}
}
[[WaitingView sharedInstance] performSelectorOnMainThread:@selector(remove) withObject:nil waitUntilDone:NO];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
self.pictures=allPictures;
if([self.pictures count]==0) {
[self performSelectorOnMainThread:@selector(downloadErrorMessage) withObject:nil waitUntilDone:NO];
} else {
self.currentIndex=0;
[self performSelectorOnMainThread:@selector(showPicture) withObject:nil waitUntilDone:NO];
}
}
-(void)downloadErrorMessage {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oooops!" message:LocStr(@"Pictures download failed") delegate:nil cancelButtonTitle:LocStr(@"Close") otherButtonTitles:nil];
[alert show];
[alert release];
[self goBack];
}
-(void)showPicture {
UIImage *image = [self.pictures objectAtIndex:self.currentIndex];
ELog(@"Now displaying image with index %d: %@",self.currentIndex,image);
self.picture.image=image;
[self.picture setNeedsLayout];
}
완벽하게 작동했습니다! 고맙습니다! – user1642188