0

ユーザーがボタンをクリックするまで非表示になっているサブビューがあります (サブビューは UIScrollview です)。そのビューにボタンのグリッドをプログラムで追加したいと思います。ボタンを追加するビューを指定する方法がわかりません。http://www.raywenderlich.com/130/how-to-write-a-custom-image-picker-like-uiimagepickerをフォローしようとしています

スクロールビューはgraphicViewと呼ばれます

これは私が持っているものです

 for(int i=0;i<64;i++)
{
UIImage *buttonImage=[UIImage imageNamed:@"image.png"];

    [arrayOfThumbnails addObject:buttonImage];  
}



for(int i = 0; i < arrayOfThumbnails.count; ++i) {

    UIImage *thumb = [arrayOfThumbnails objectAtIndex:i];
    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(column*100+24, row*80+10, 64, 64);
    [button setImage:thumb forState:UIControlStateNormal];
    [button addTarget:graphicView
               action:@selector(buttonClicked:)
     forControlEvents:UIControlEventTouchUpInside];
    button.tag = i;
    [graphicView addSubview:button];

    if (column == 2) {
        column = 0;
        row++;
    } else {
        column++;
    }

}

これは、チュートリアルで使用していない唯一の部分です....

[view setContentSize:CGSizeMake(320, (row+1) * 80 + 10)]; self.view = ビュー;


4

1 に答える 1

1

[UIImage imageNamed:@ "image.png"]からの戻り値を確認して、UIImageが有効であることを確認してください。

NSMutableArrayが初期化されていることを確認してください

forループが異常に見える場合は、高速列挙に変更してみてください

for (UIImage *thumb in arrayOfThumbnails) {
    // UIImage *thumb = [arrayOfThumbnails objectAtIndex:i]; <-- Not needed
    ...
} 

graphicsViewはどこかにサブビューとして追加されていますか?graphicsView.backgroundColor = [UIColor redColor]を設定して、少なくとも追加されていることを確認できるようにします。

于 2013-02-08T18:49:04.180 に答える