2010-04-15 3 views
2

Flickr API 및 ObjectiveFlickr.A와 함께 무료 음악 악기 iPhone 앱을 제작 중입니다. 재미있는 목록의 임의의 사진이 배경에 표시되지만 크기를 알지 못하고 센터를 배치 할 수 없습니다. (그래서 UIWebView 프레임을 재설정 할 수 있습니다.)ObjectiveFlickr - 응답 전까지 알 수없는 사진 ID로 getSizes를 호출하는 방법?

저는 이것을 잠시 동안 조사해 왔으며, 대답이 매우 쉽다면, 웹 서비스 API를 가지고 노는 것은 처음입니다. =)

재미있는 피드에서 응답을받을 때까지 사진 ID를 알 수 없으므로 응답에 flickr.photo.getSizes를 어떻게 호출할까요? 내가이있는 UIImageView에 반환 된 이미지를로드하여 원하는 동작을 달성

- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary{ 
int randomResponse = arc4random() % 49; 
photoDict = [[inResponseDictionary valueForKeyPath:@"photos.photo"] objectAtIndex:randomResponse]; 

NSString *photoID = [photoDict valueForKeyPath:@"id"]; 

NSLog(@"%@",photoID); 

NSURL *photoURL = [flickrContext photoSourceURLFromDictionary:photoDict size:OFFlickrMediumSize]; 
NSString *htmlSource = [NSString stringWithFormat: 
     @"<html>" 
     @"<head>" 
     @" <style>body { margin: 0; padding: 0; } </style>" 
     @"</head>" 
     @"<body>" 
     @"<img src=\"%@\" />" 
     @"</body>" 
     @"</html>" 
     , photoURL]; 

[webView loadHTMLString:htmlSource baseURL:nil]; 
} 

답변

1

: 이것은 내가 지금까지있는 것입니다. 코드는 다음과 같습니다. 누군가를 도울 수 있기를 바랍니다.

- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary{ 
    int randomResponse = arc4random() % 49; 
    photoDict = [[inResponseDictionary valueForKeyPath:@"photos.photo"] objectAtIndex:randomResponse]; 

    NSString *photoID = [photoDict valueForKeyPath:@"id"]; 

    NSLog(@"%@",photoID); 

    NSURL *photoURL = [flickrContext photoSourceURLFromDictionary:photoDict size:OFFlickrMediumSize]; 

    NSData *receivedData = [[NSData dataWithContentsOfURL: 
          photoURL] retain]; 
    UIImage *image = [[UIImage alloc] initWithData:receivedData] ; 
    NSLog(@"%i",image.size); 

    randomImage.image = image; 

    //[webView loadHTMLString:htmlSource baseURL:nil]; 
} 
관련 문제