最初发布于https://groups.google.com/forum/#!msg/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
并实现这两个
以下方法作为一个非常基本的开始。但是,即使有这两个
如图所示实现的数据源方法,我收到一个空白屏幕。
虽然,我仍然可以看到显示正确照片数的视图(4个中的4个,
例如)并且可以使用前进/后退箭头点击,I
最终没有显示实际图像。我期待着
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")];
}
答案 0 :(得分: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;}
这对我来说是理所当然的,对任何其他人来说都是如此。