iphone:如何为scrollview中的每个图像编写不同的标签

时间:2011-10-06 03:19:09

标签: iphone nsarray label scrollview

我成功为50张图片创建了一个UIscrollview(水平),并创建了一个“1 of 50”页码的标签以及滚动视图显示在图像的顶部(例如,用户滚动到下一张图像,它会显示50的2,其中的50,等等。我可以在图像底部显示一个标签作为描述。我的问题是如何创建或编码以显示每个图像的不同描述?我想到了NSarray,但它显示了一些随机数字。是否有一个样本我可以看看我做错了什么。你可以在那里看到我丢失的描述部分。谢谢=)

    CGFloat xOffset = 0;
        NSInteger pageNumber = 1;
            NSUInteger i;
        for (i = 1; i <= 5; i++)
        {
            NSString *imageName = [NSString stringWithFormat:@"creative%d.jpg", i];
            UIImage *image = [UIImage imageNamed:imageName];
            UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

            [imageView setFrame:CGRectMake(xOffset, 0, 320, 288.5)];
            [ourScrollView addSubview:imageView];
            [imageView release];

            UILabel *pageNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(xOffset, -10, 320, 40)];
            [pageNumberLabel setText:[NSString stringWithFormat:@"%d of 5", pageNumber]];
            [pageNumberLabel setTextAlignment:UITextAlignmentLeft];
            [pageNumberLabel setTextColor:[UIColor whiteColor]];
                    [pageNumberLabel setBackgroundColor:[UIColor clearColor]];
                    [pageNumberLabel setFont:[UIFont fontWithName:@"MarkerFelt-Thin" size:18]];
            [ourScrollView addSubview:pageNumberLabel];
            [pageNumberLabel release];

  NSArray  *description = [NSArray arrayWithObjects:@"wow", @"bam", @"pow", @"zing", @"bling",nil];                 

                    UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:CGRectMake(xOffset, 250, 320, 40)];
                    [descriptionLabel setText:[NSString stringWithFormat:@"%@", description]];
                            [descriptionLabel setTextAlignment:UITextAlignmentLeft];
            [descriptionLabel setTextColor:[UIColor whiteColor]];
                    [descriptionLabel setBackgroundColor:[UIColor clearColor]];
            [ourScrollView addSubview:descriptionLabel];
            [descriptionLabel release];

            xOffset = xOffset + 320;
            pageNumber = pageNumber + 1;

1 个答案:

答案 0 :(得分:1)

您正在设置descriptionLabel,格式为@"%d",这是一种十进制格式。什么是“描述”?如果它是NSString,那么您应该使用@"%@"