NIToolbarPhotoViewController在app bundle中带照片



原发于https://groups.google.com/forum/#!味精/nimbusios/nGePpdl12N4/Etnyp1cUOhMJ

是否有使用NIToolbarPhotoViewController的可用示例使用非网络图像?我的应用程序包中有这些图像我想通过这门课来展示我试过一些用我自己的子类调整NetworkPhotoAlbum的例子(直接子类化NIToolbarPhotoViewController,而不是NetworkPhotoAlbumViewController)。然而,即使我硬编码下面两个方法在我的子类中使用+返回图像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并实现这两个下面的方法作为一个非常基本的开始。然而,即使有这两个如所示实现的数据源方法,我将收到一个空白屏幕。尽管如此,我仍然得到了显示正确照片计数的视图(10张中的4张,(例如),并可以使用前进/后退箭头单击最终没有实际的图像显示。我还以为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")]; 
}

我也有同样的问题。你需要分配一个值给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;}

这个方法对我很有效,对其他人也一样。

相关内容

  • 没有找到相关文章

最新更新