0

UIScrollView を作成し、配列から画像を表示していますが、画像が表示されません

ここに私のコードがあります

- (void)viewDidLoad
{
    [super viewDidLoad];

imageScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(13.0, 50.0, 292.0, 69.0)];

    [self makeScroll];

}

-(void)makeScroll
{
    imageScroll.delegate = self;

    imageScroll.backgroundColor = [UIColor clearColor];

    int arrayCount = [myArray count];

    imageScroll.contentSize = CGSizeMake(arrayCount * 101.0, 69.0);

    for (int i = 0; i < arrayCount; i++)

    {

        participantView = [[UIView alloc]init];

        if (i == 0) {

            participantView.frame = CGRectMake(0.0, 2.0, 91.0, 67.0);

        }

        else {

            participantView.frame = CGRectMake(101.0*i, 2.0, 91.0, 67.0);

        }

        participantView.backgroundColor = [UIColor yellowColor];

        //declaring the view in which image object will be added
        UIImageView *bannerImage = [[UIImageView alloc] 

initWithFrame:CGRectMake(0.0,0.0,91.0,67.0)];

        //taking out the image object
        UIImage *imageNamed = [UIImage imageNamed:[myArray objectAtIndex:0]];

        //resizing the image

   // UIImage *imageNamed2 = [imageNamed 

imageByScalingAndCroppingForSize:CGSizeMake(91.0,67.0)];

        //setting the resized image in UIImageView

        [bannerImage setImage:imageNamed];

        //clear the bg
        bannerImage.backgroundColor = [UIColor clearColor];

        bannerImage.autoresizingMask = UIViewAutoresizingFlexibleHeight;

        bannerImage.contentMode = UIViewContentModeScaleAspectFit;

        [bannerImage setNeedsLayout];

        bannerImage.frame = CGRectMake(0.0,0.0,91.0,67.0);

    [participantView addSubview:bannerImage];



            [imageScroll addSubview:participantView];

    }

    [self.view addSubview:imageScroll];


}

誰か私がどこで間違っているのか教えてください

問題は: 画像がスクロールビューに表示されない

4

7 に答える 7

0

これを試して -

ページ数を設定する

    static NSUInteger numberOfPages = [imageArr count];

ViewDidLoadで

    howItWorksScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, 320, 640)];
    howItWorksScrollView.pagingEnabled = YES;
    howItWorksScrollView.contentSize = CGSizeMake(howItWorksScrollView.frame.size.width * numberOfPages, howItWorksScrollView.frame.size.height);
    howItWorksScrollView.showsHorizontalScrollIndicator = YES;
    howItWorksScrollView.showsVerticalScrollIndicator = NO;
    howItWorksScrollView.scrollsToTop = NO;
    howItWorksScrollView.delegate = self;
    [self.view addSubview:howItWorksScrollView];

    int k,i;
    int btnX = 70, btnY = 25;

    int count =0;


    for (k = 0; k < numberOfPages; k++)
    {
        for (i = 0; i < 1; i++)
        {
            if (count < [imageArray count])
            {
                UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(btnX, btnY, 180, 180)];
                imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@.png",[imageArray objectAtIndex:k]]];
                imageView.backgroundColor = [UIColor clearColor];
                [howItWorksScrollView addSubview:imageView];
                [imageView release];

                count++;

                btnX = btnX + 180 + 70 + 70;

            }

            btnX = btnX - 320;

        }
        btnX = btnX + 320;
        btnY = 25;

    }
于 2013-06-27T07:24:12.037 に答える
0

VSScrollview を見てください。非常に使いやすいクラスです。UITableview と同じように使用され、UITableview がそのセルを再利用するように、VSScrollView はそのビューを再利用するため、Scrollview に多数のサブビューがある場合にメモリの処理について心配する必要はありません。VSScrollview リンク

于 2013-06-27T07:24:41.487 に答える
0

Nicklockwoodによる SwipeView は、水平スクロールビューでビューを処理するための優れたライブラリです。

ドキュメントから:

SwipeView は、iOS での水平方向のページスクロール ビューの実装を簡素化するために設計されたクラスです。これは UIScrollView に基づいていますが、ビューを動的にロードするための UITableView スタイルの dataSource/delegate インターフェイスや、効率的なビューのロード、アンロード、リサイクルなどの便利な機能が追加されています。

SwipeView のインターフェイスと実装は iCarousel ライブラリに基づいており、iCarousel を使用したことがある人なら誰でも知っているはずです。

于 2014-04-26T08:37:32.030 に答える
-2

助けてくれた友達に感謝

間違えていたところから問題が発生しました。

My Array では、画像は URL にあるので、これとその作業を行いました

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0f, 91.0f, 67.0f)];

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString: [myArray objectAtIndex:i]]];

UIImage *img = [[UIImage alloc] initWithData:data];

[imageView setImage:img];

問題が解決しました :-)

于 2013-06-27T07:41:17.773 に答える