Почему текст UILabel только на первой странице UIScrollView - PullRequest
0 голосов
/ 18 сентября 2010

Мой scrollView показывает изображения, загруженные с сервера.Теперь я хочу показать дополнительную информацию в UILabel.Однако это показано только под первым изображением.При прокрутке UILabel не отображается: - (

(void)populateImageArray:(NSNotification *)notif 
{
    NSUInteger i;
    CGFloat contentOffset = 0.0f;

    for (i = 0; i <= [items count]-1; i++)
    {    
        CGRect imageViewFrame = CGRectMake(contentOffset, 0.0f, scrollViewPreview.frame.size.width, scrollViewPreview.frame.size.height);
//        CGRect rect = CGRectMake(139 , 405, 120.0f, 45.0f);
        CGRect rect = CGRectMake(0 , 330, 120.0f, 45.0f);

        NSString *titleString, *preisString, *resultString;
        titleString = [[items objectAtIndex:i] title];
        preisString = [[items objectAtIndex:i] price];
        resultString = @"";
        resultString = [resultString stringByAppendingString:titleString];
        resultString = [resultString stringByAppendingString:@"\n"];
        resultString = [resultString stringByAppendingString:preisString];

        UILabel *text = [[UILabel alloc] initWithFrame:rect];
        [text setTextColor:[UIColor redColor]];
        [text setNumberOfLines:0];
        text.textAlignment=UITextAlignmentCenter;

        [scrollViewPreview addSubview:text];

        text.text = [NSString stringWithFormat:@"%d",resultString];

        NSURL *urlString = [NSURL URLWithString:[[items objectAtIndex:i] bilder]];
        NSData *data = [NSData dataWithContentsOfURL:urlString];
        UIImage *image = [[UIImage alloc] initWithData:data];
        //UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:imageViewFrame];
        [imageView setImage:image];
        //imageView.contentMode = UIViewContentModeCenter;
        imageView.contentMode = UIViewContentModeScaleAspectFit;
        [scrollViewPreview addSubview:imageView];
        [text release]; 
        [imageView release];
        [titleString release];
        [preisString release];
        //[resultString release];

        contentOffset += imageView.frame.size.width;
        scrollViewPreview.contentSize = CGSizeMake(contentOffset,     scrollViewPreview.frame.size.height);

    }
    scrollViewPreview.clipsToBounds = NO;
    scrollViewPreview.pagingEnabled = YES;
    scrollViewPreview.showsHorizontalScrollIndicator = YES;

1 Ответ

1 голос
/ 18 сентября 2010

Измените следующую строку:

CGRect rect = CGRectMake(0 , 330, 120.0f, 45.0f);

на:

CGRect rect = CGRectMake(contentOffset , 330, 120.0f, 45.0f);

Проблема в том, что все создаваемые вами ярлыки находятся в одном месте ...

...