0

私はページ化された UIScrollView に取り組んでいますが、その中に最初の UIImageView だけを表示したいのです。各 UIImageView をスクロール ビューの幅のオフセットに追加して、各ページを作成する必要があります。実行すると、スクロール ビューは適切なページ数であると表示されますが、画像は表示されません。

どんな助けでも大歓迎です!

int numSlides = NUM_TUTORIAL_SLIDES;
    NSString *fileName;
    UIImageView *slideImageView;
    CGRect slideFrame;

    for (int i = 1; i <= numSlides; i++)
    {
        slideFrame.origin.x = self.tutorialScrollView.frame.size.width * (i-1);
        slideFrame.origin.y = 0;
        slideFrame.size = self.tutorialScrollView.frame.size;

        slideImageView = [[UIImageView alloc] initWithFrame:slideFrame];


        if([[AppManager sharedManager] is4inchScreen])
        {
            fileName = [NSString stringWithFormat:@"Slide%d4in@2x.png", i];
        }

        else
        {
            fileName = [NSString stringWithFormat:@"Slide%d@2x.png", i];
        }

        slideImageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileName ofType:nil]];

        [self.tutorialScrollView addSubview:slideImageView];

        [slideImageView release];
    }

    self.tutorialScrollView.contentSize = CGSizeMake(self.tutorialScrollView.frame.size.width * numSlides, self.tutorialScrollView.frame.size.height);

    self.tutorialScrollView.delegate = self;
4

2 に答える 2

1

次のコードを変更すると役立つかもしれません

    slideImageView.image = [UIImage imageNamed:fileName];
于 2012-09-17T04:01:27.500 に答える
0

この問題は、スクロール ビューの角を丸くすることに関係していたことが判明しました。

私はこのコードを持っていました:

//Round header image
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.tutorialScrollView.bounds
                                               byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                                                     cornerRadii:CGSizeMake(DEFAULT_CORNER_RADIUS_HEADER, DEFAULT_CORNER_RADIUS_HEADER)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = maskPath.CGPath;
self.tutorialScrollView.layer.mask = maskLayer;

どうやらスクロールビューで問題が発生するようです

于 2012-09-18T04:15:04.090 に答える