我在这个网站上看过很多帖子,在谷歌上也看过很多帖子,我坚持我确信这很容易。我是 iOS 新手,我很可能读错了其他帖子。我正在尝试用我自己的逻辑和尝试来学习和编写我自己的代码,所以我的代码看起来与我发现的其他代码有很大不同......这就是为什么它不起作用我确定!
我正在尝试使用从右向左滑动来显示图片,但我希望将下一张图片拉过来并滑入到位,而不是我在这里完成的即时切换。基于许多建议,我正在尝试使用 UIScrollView。我无法加载任何内容,并且应用程序在 loadImages 的最后一行崩溃。我已经调试过,但似乎无法弄清楚为什么它没有显示 subView。
这是我的viewDidLoad:
[super viewDidLoad];
// Do any additional setup after loading the view.
i = 0;
//add UIPanGestureRecognizer
UIPanGestureRecognizer *aPan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(loadImages)];
[aPan setMaximumNumberOfTouches:1];
[aPan setMinimumNumberOfTouches:1];
[self.view addGestureRecognizer:aPan];
_PhotoBundle = [[NSBundle mainBundle] pathsForResourcesOfType:@".jpg"inDirectory:@"Otter_Images"];
_PhotoArray = [[NSMutableArray alloc] initWithCapacity:_PhotoBundle.count];
for (NSString* path in _PhotoBundle)
{
[_PhotoArray addObject:[UIImage imageWithContentsOfFile:path]];
}
[self loadImages];
这是我的加载图像:
-(void)loadImages
{ NSLog(@"在 loadImages");
_currentImage = [_PhotoArray objectAtIndex:i];
_nextImage = [_PhotoArray objectAtIndex:i + 1];
_prevImage = [_PhotoArray objectAtIndex:i -1];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[scrollView setScrollEnabled:YES];
[scrollView setClipsToBounds:YES];
if (i <= _PhotoArray.count)
{
[scrollView addSubview:_currentImage]; ////crash!!!!
}
else
{
_currentImage = [_PhotoArray objectAtIndex:0];
[scrollView addSubview:_currentImage]; /// Crash!!!!
}
NSLog(@"end of loadImages");
}
在加载一张图片之前,我已经停止了功能。然后,我将添加幻灯片的功能......我希望我正在接近这个权利。
非常感谢您的帮助!!
编辑:
这是我在 .m 中设置 ImageViews 的界面:
@interface ScrollViewViewController ()
@property (nonatomic, retain) NSArray *PhotoBundle;
@property (nonatomic, retain) NSMutableArray *PhotoArray;
@property (nonatomic, retain) UIImageView *currentImage;
@property (nonatomic, retain) UIImageView *nextImage;
@property (nonatomic, retain) UIImageView *prevImage;
@end