[英]NIToolbarPhotoViewController with photos in app bundle
Originally posted at https://groups.google.com/forum/#!msg/nimbusios/nGePpdl12N4/Etnyp1cUOhMJ 最初发布于https://groups.google.com/forum/#!msg/nimbusios/nGePpdl12N4/Etnyp1cUOhMJ
Are there any examples available using NIToolbarPhotoViewController
with non-network images? 是否有任何使用
NIToolbarPhotoViewController
和非网络图像的例子? I have the images in my application bundle that I would like to present through this class. 我有我的应用程序包中的图像,我想通过这个类提出。 I have tried a few tweaks of the NetworkPhotoAlbum example with my own subclass (subclassing
NIToolbarPhotoViewController
directly, not NetworkPhotoAlbumViewController
). 我尝试使用我自己的子类对NetworkPhotoAlbum示例进行一些调整(直接子类化
NIToolbarPhotoViewController
,而不是NetworkPhotoAlbumViewController
)。 However, even when I hardcode the following two methods in my subclass to return an image using + imageNamed, I get blank screen. 但是,即使我在子类中硬编码以下两个方法以使用+ imageNamed返回图像,我也会得到空白屏幕。
- (UIImage *)photoAlbumScrollView: (NIPhotoAlbumScrollView *)photoAlbumScrollView
photoAtIndex: (NSInteger)photoIndex
photoSize: (NIPhotoScrollViewPhotoSize *)photoSize
isLoading: (BOOL *)isLoading
originalPhotoDimensions: (CGSize *)originalPhotoDimensions
- (UIImage *)photoScrubberView: (NIPhotoScrubberView *)photoScrubberView
thumbnailAtIndex: (NSInteger)thumbnailIndex
Based on my current understanding, it seems that any class should be able to subclass NIToolbarPhotoViewController
and implement these two methods below as a very basic start. 基于我目前的理解,似乎任何类都应该能够将
NIToolbarPhotoViewController
子类NIToolbarPhotoViewController
并在下面实现这两个方法作为一个非常基本的开始。 However, even with these two datasource methods implemented as shown, I receive a blank screen. 但是,即使使用如图所示实现的这两个数据源方法,我也会收到一个空白屏幕。 Though, I still get the view showing the correct photo count (4 of 10, for example) and can click through using the forward/back arrows, I end up with no actuall images displaying.
虽然,我仍然可以看到显示正确照片数量的视图(例如,10个中的4个)并且可以使用前进/后退箭头点击,但最终没有显示实际图像。 I was expecting the default.png to show up 10 times.
我原以为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")];
}
I was having the same problem. 我遇到了同样的问题。 You need to assign a value to the photoSize (and originalPhotoDimensions should also be set, but it is not essential).
您需要为photoSize指定一个值(并且还应设置originalPhotoDimensions,但这不是必需的)。 I would have thought that the default behavior would have been to read the properties off of the image directly, but the default is (0,0).
我原以为默认行为是直接读取图像的属性,但默认为(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;}
This did the trick for me, it should for anyone else as well. 这对我来说很有把握,对其他人来说也应如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.