在UIScrollView中管理图像

时间:2009-08-06 06:41:17

标签: iphone image uiscrollview

我不知道我在代码中的哪个位置写了图像名称以及出现的顺序。这是我的代码

// load all the images from our bundle and add them to the scroll view
NSUInteger i;
for (i = 1; i <= kNumImages; i++)
{
    NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

我的图片标题为“image0.jpeg,image1.jpg。”如何将其插入到我的代码中并以某种方式对它们进行排序?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您的代码段已经按照您的意愿行事 - 至少部分。

如果您的图像编号为0,则需要使用 i = 0 instea i = 1 开始循环,并适当调整约束:

for (NSUInteger i = 0; i < kNumImages; i++) {
    NSString *imageName = [NSString stringWithFormat:@"image%u.jpg", i];

    // create the image and insert into imageview
    // add imageview to the containing view
}

顺序非常简单,因为图像将被添加0,1,2 ......等等

答案 2 :(得分:0)

使用您第一篇文章中的代码,您可以创建多个(kNumImages,更具体)ImageView,并从项目目录中加载JPG文件,称为“imageN.jpg”,其中N是介于1和kNumImages之间的整数

要在UIScrollView中显示这些新创建的视图,您必须将它们作为子视图添加到它。

这样的东西
for (int i = 0; i < pageCount; i++) {
    UIView *view = [pageViews objectAtIndex:i];
    if (!view.superview)
        [scrollView addSubview:view];
    view.frame = CGRectMake(pageSize.width * i, 0, pageSize.width, pageSize.height);
}

最简单的方法是在UIScrollView的UIViewController中。您可能希望将它们添加到某种集合中(集合可能会保留它们,因此在添加视图时不要忘记发布视图)。

随着您对应用程序的熟悉程度越来越高,您可能希望延迟加载视图或使用简单的UIViewControllers来处理不同的图像。

在iPhone OS 3.0及更高版本中,UIScrollView有了重大改进,您可以在ADC的iPhone部分的ScrollViewSuite教程项目中找到优秀的代码示例。