gpt4 book ai didi

iphone - 在 iphone 中使用 UIScrollView 滚动图像(第 2 部分)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:47:47 26 4
gpt4 key购买 nike

我是 iphone 开发的新手,我正在做一个简单的应用程序来练习。在该应用程序中,只有一个 View 上有图像。我希望能够向左或向右滑动,让第一张图片离开 View ,让第二张图片进入。图片不同,我希望它们看起来像是相连的。我需要它能够更改图像或在一系列滑动后重新启动。我仅使用 ScrollView 来执行此操作。

这是代码:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIScrollViewDelegate>
{
UIImageView *imgView;
UIScrollView *scrollView;
}

@property (nonatomic,retain)IBOutlet UIImageView *imgView;
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

//- (id)initWithPageNumber:(int)page;

@end

viewcontroller.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize imgView,scrollView;

- (void)viewDidLoad
{
NSArray *images = [[NSArray alloc] initWithObjects:@"1.jpeg",@"2.jpeg",@"3.jpeg", nil];
for (int i = 0; i < images.count; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
imgView = [images objectAtIndex:i];
imgView.frame = frame;
[scrollView addSubview:imgView];
}

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height);

[super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
self.scrollView = nil;
}



@end

我仍然无法滚动图像。不确定我的错误在哪里?此外,它现在给了我这个异常(exception):

异常(exception):

[__NSCFConstantString setFrame:]: unrecognized selector sent to instance 0x49b8
2012-10-24 16:49:42.411 SwipeImages[3330:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString setFrame:]: unrecognized selector sent to instance 0x49b8'
*** First throw call stack:
(0x1c8d012 0x10cae7e 0x1d184bd 0x1c7cbbc 0x1c7c94e 0x2718 0xf3817 0xf3882 0x42a25 0x42dbf 0x42f55 0x4bf67 0x213b 0xf7b7 0xfda7 0x10fab 0x22315 0x2324b 0x14cf8 0x1be8df9 0x1be8ad0 0x1c02bf5 0x1c02962 0x1c33bb6 0x1c32f44 0x1c32e1b 0x107da 0x1265c 0x1d7d 0x1ca5)
libc++abi.dylib: terminate called throwing an exception

最佳答案

您将字符串放入数组中,将图像对象放入其中。即

NSArray *images = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"1.jpeg"],[UIImage imageNamed:@"2.jpeg"],[UIImage imageNamed:@"3.jpeg"], nil];

这里还有一个建议。使用 ping 图像而不是 jpeg。完成后通知我。

编辑:

另一件事在这里

imgView = [images objectAtIndex:i];

您正在将图像传递给 imageview 对象,该对象现在实际上变成了图像对象。并且图像没有框架属性。这样做

 imgView.image = [images objectAtIndex:i];

关于iphone - 在 iphone 中使用 UIScrollView 滚动图像(第 2 部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13045868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com