最初发布在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并实现下面的这两个方法,作为一个非常基本的开始。但是,即使实现了这两个数据源方法,我也会收到一个空白屏幕。不过,我仍然可以获得显示正确照片计数的视图(例如,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")];
}发布于 2012-12-27 01:09:27
我也有同样的问题。您需要为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;}这对我来说很有效,对其他人也应该如此。
https://stackoverflow.com/questions/13977510
复制相似问题