0

UICollectionViewCell 内に UIProgressView を作成し、UIProgressView の setFrame を使用して UICollectionViewCell 内の位置を変更しようとしましたが、一部のセルで progressView が表示されません。setFrame を削除すると、UICollectionViewCell の上部のデフォルトの幅で問題ありません

何が問題なの?UIProgressViewのサイズ、原点を変更するには? 助けてください!

//Cell:UICollectionViewCell 
//Cell.m
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
           //ProgressView
           self.progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
           [self.progressView setFrame:progressViewFrame];//Some cells not display progressView
           [self.progressView addSubview:self.downloadBar];
    }
        return self;
    }
4

1 に答える 1

0

コードを変更しました。現在、進行状況ビューは正常に機能しています。すべてのセルが進行状況ビューを表示しています。self.downloadBまた、以下のコードでフレームを変更すると、セルの幅と位置を変更できます

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [self.contentView setBackgroundColor:[UIColor underPageBackgroundColor]];

        //cellImage
        self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 0, 57, 57)];
        [self.imageView setBackgroundColor:[UIColor clearColor]];
        [self.contentView addSubview:self.imageView];

        //ProgressView
        self.downloadBar = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
        [self.downloadBar setFrame:CGRectMake(0, 10, 300, 10)];

        [self.contentView addSubview:self.downloadBar];
        [self.downloadBar setHidden:YES];

        self.receivedData = [[NSMutableData alloc] init];


    }
    return self;
}

あなたが提供した github url から cell.m のコードを変更しました。

于 2013-01-29T08:43:38.830 に答える