【发布时间】:2012-02-03 11:23:31
【问题描述】:
我有一个数组imageNames
NSArray *imageNames = [[NSArray alloc] initWithObjects:@"image1.jpg", @"image2.jpg", @"image3.jpg", nil];
我想在UIScrollView 中显示第一张图片,然后在制作水平幻灯片时更改它。
.h 代码:
@interface SlidePViewController : UIViewController <UIScrollViewDelegate>
{
IBOutlet UIScrollView *scrollView;
UIImageView *imageView;
}
@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIImageView *imageView;
@end
我创建了这个应该完成这项工作的代码
for(NSString *imageName in imageNames){
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]];
image.frame = CGRectMake([imageNames indexOf:imageName] * SCREENWIDTH, 0, SCREENWIDTH, SCREENHEIGHT);
[scrollView addSubview:image];
[image release];
}
我用数字改变了 SCREENWIDTH 和 SCREENWIDTH ...
image.frame = CGRectMake([imageNames indexOf:imageName] * 100, 0, 11, 888);
错误:
二进制表达式的无效操作数('id' 和 'int')
我不确定这段代码会不会做我想做的事:/
更新 我用这个换行
image.frame = CGRectMake([imageNames indexOfObject:imageName] * 1000, 0, 1100, 888);
错误已修复,但我无法滑动,第一个图像显示在 UIScrollView 中,并且不会随着水平滑动而改变。
【问题讨论】:
-
我认为错误不是由于设置框架
-
您在哪一行注意到此错误?
-
这一行 image.frame = CGRectMake([imageNames indexOf:imageName] * 100, 0, 11, 888);
-
@Mehdi 您遇到的问题是您只是将代码复制和粘贴在一起,而没有花时间弄清楚代码在做什么。这不是一个好的学习方法。您也没有显示任何与 UIScrollView 相关的代码。我建议你去阅读与 UIScrollView 相关的 Apple 文档,而不是希望有人会为你编写更多代码。
标签: iphone objective-c xcode uiscrollview