2012-12-20 2 views
1

원래 모든 예 비 네트워크 이미지 NIToolbarPhotoViewController 를 사용하여 사용할 수 있습니까 https://groups.google.com/forum/#!msg/nimbusios/nGePpdl12N4/Etnyp1cUOhMJNIToolbarPhotoViewController는

에 게시? 내 응용 프로그램 번들 에이 수업을 통해 발표하고 싶은 이미지가 있습니다. 몇 가지 시도해 보았습니다 내 하위 클래스 (NIToolbarPhotoViewController이 아닌 서브 클래스로 직접, )이 아닌 NetworkPhotoAlbum 예제의 개조를 시도했습니다. 그러나, 내 하위 클래스의 두 개의 메소드를 하드 코드화하여 + imageNamed를 사용하여 이미지를 반환하더라도 빈 화면이 표시됩니다. 내 현재의 이해를 바탕으로

- (UIImage *)photoAlbumScrollView: (NIPhotoAlbumScrollView *)photoAlbumScrollView 
        photoAtIndex: (NSInteger)photoIndex 
         photoSize: (NIPhotoScrollViewPhotoSize *)photoSize 
         isLoading: (BOOL *)isLoading 
      originalPhotoDimensions: (CGSize *)originalPhotoDimensions 

- (UIImage *)photoScrubberView: (NIPhotoScrubberView *)photoScrubberView 
       thumbnailAtIndex: (NSInteger)thumbnailIndex 

, 모든 클래스 아래 아주 기본적인 시작으로 NIToolbarPhotoViewController를 서브 클래 싱이 두 방법을 구현할 수 해야한다는 것. 그러나 이러한 두 개의 데이터 소스 메서드를 구현 한 경우에도 빈 화면이 나타납니다. 그래도 정확한 사진 수 (4/10, 예 : )를 표시하는보기가 표시되며 앞으로/뒤로 화살표를 사용하여 클릭 할 수 있습니다. 즉, 은 실제 이미지가 표시되지 않습니다. default.png가 10 번 나타날 것으로 예상했습니다.

- (NSInteger)numberOfPhotosInPhotoScrollView:(NIPhotoAlbumScrollView *)photoScrollView { 
    return 10; 
} 

- (UIImage *)photoAlbumScrollView: (NIPhotoAlbumScrollView *)photoAlbumScrollView 
        photoAtIndex: (NSInteger)photoIndex 
         photoSize: (NIPhotoScrollViewPhotoSize *)photoSize 
         isLoading: (BOOL *)isLoading 
      originalPhotoDimensions: (CGSize *)originalPhotoDimensions { 

    return [UIImage imageWithContentsOfFile: 
    NIPathForBundleResource(nil, @"NimbusPhotos.bundle/gfx/default.png")]; 

} 

답변

3

나는 동일한 문제를 겪고있었습니다. PhotoSize에 값을 지정해야하며 originalPhotoDimensions도 설정해야하지만 필수는 아닙니다. 기본 비헤이비어가 이미지의 속성을 직접 읽었을 것이라고 생각 했겠지만 기본값은 (0,0)입니다.

- (UIImage *)photoAlbumScrollView: (NIPhotoAlbumScrollView *)photoAlbumScrollView 
       photoAtIndex: (NSInteger)photoIndex 
        photoSize: (NIPhotoScrollViewPhotoSize *)photoSize 
        isLoading: (BOOL *)isLoading 
     originalPhotoDimensions: (CGSize *)originalPhotoDimensions { 

UIImage *image = [UIImage imageWithContentsOfFile: 
NIPathForBundleResource(nil, @"NimbusPhotos.bundle/gfx/default.png")]; 

*originalPhotoDimensions = [image size]; 
*photoSize = NIPhotoScrollViewPhotoSizeOriginal; 
return image;} 

이것은 나에게 트릭이었습니다. 다른 사람에게도 마찬가지였습니다.

+0

"return image;"를 입력하는 것을 잊었습니다. 샘플에서. – Ryan

+0

당신은 당신의 대답을 편집 할 수 있습니다 ... – Ben

+0

당신은이 게시물을 발견 할 때까지 내 머리카락을 꺼내 ​​남자입니다. 고맙습니다 –