我在将图像从文件加载到数组时遇到了一些问题。我已经使用了我在这里找到的问题的组合,并且没有想法....我对 Objective-c 不熟悉,对其余部分生疏。
我的 viewDidLoad 只是调用我的 showPics 方法,为了测试,我让 _imgView 只显示数组中位置 1 的图像。
这很可能是我显示图像的方式的问题。我的 Storyboard 中有一个 ViewController 和一个 ImageView(标题为:imgView)。
这是我的 showPics 方法:
-(void)showPics
{
NSArray *PhotoArray = [[NSBundle mainBundle] pathsForResourcesOfType"jpg" inDirectory"Otter_Images"];
NSMutableArray *imgQueue = [[NSMutableArray alloc] initWithCapacityhotoArray.count];
for (NSString* path in PhotoArray)
{
[imgQueue addObject:[UIImage imageWithContentsOfFile:path]];
}
UIImage *currentPic = _imgView.image;
int i = -1;
if (currentPic != nil && [PhotoArray containsObject:currentPic]) {
i = [PhotoArray indexOfObject:currentPic];
}
i++;
if(i < PhotoArray.count)
_imgView.image= [PhotoArray objectAtIndex:1];
}
这是我的 viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self showPics];
}
这是我的 ViewController.h
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *imgView;
@end
如果您需要其他任何东西,请告诉我,并提前感谢您!
Best Answer-推荐答案 strong>
在您的 showPics 方法中,除了最初的“for-loop”之外,您对 PhotoArray 的所有引用都应该是对 imgQueue 的引用>。 PhotoArray 是路径名列表。 imgQueue 是实际 UIImage 对象的数组。
-(void)showPics {
NSArray *PhotoArray = [[NSBundle mainBundle] pathsForResourcesOfType"jpg" inDirectory"Otter_Images"];
NSMutableArray *imgQueue = [[NSMutableArray alloc] initWithCapacityhotoArray.count];
for (NSString* path in PhotoArray) {
[imgQueue addObject:[UIImage imageWithContentsOfFile:path]];
}
UIImage *currentPic = _imgView.image;
int i = -1;
if (currentPic != nil && [imgQueue containsObject:currentPic]) {
i = [imgQueue indexOfObject:currentPic];
}
i++;
if(i < imgQueue.count) {
_imgView.image = [imgQueue objectAtIndex:1];
}
}
关于ios - 从图像文件夹加载数组 - xcode,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/13015111/
|