首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用程序包中包含照片的NIToolbarPhotoViewController

在应用程序包中包含照片的NIToolbarPhotoViewController
EN

Stack Overflow用户
提问于 2012-12-21 01:31:20
回答 1查看 342关注 0票数 1

最初发布在https://groups.google.com/forum/#!msg/nimbusios/nGePpdl12N4/Etnyp1cUOhMJ

有没有将NIToolbarPhotoViewController用于非网络镜像的示例?我的应用程序包中有我想通过这个类呈现的图像。我已经用我自己的子类尝试了对NetworkPhotoAlbum示例的一些调整(直接将NIToolbarPhotoViewController子类化,而不是NetworkPhotoAlbumViewController)。然而,即使我在我的子类中硬编码了以下两个方法来使用+ imageNamed返回图像,我也得到了空白屏幕。

代码语言:javascript
运行
复制
- (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次。

代码语言:javascript
运行
复制
- (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")]; 

}
EN

回答 1

Stack Overflow用户

发布于 2012-12-27 01:09:27

我也有同样的问题。您需要为photoSize赋值(也应该设置originalPhotoDimensions,但这不是必需的)。我认为默认的行为应该是直接从图像中读取属性,但是默认值是(0,0)。

代码语言:javascript
运行
复制
- (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;}

这对我来说很有效,对其他人也应该如此。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13977510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档