向特定子视图添加按钮数组

时间:2013-02-08 17:50:33

标签: ios xcode uiscrollview uiimageview uibutton

我有一个隐藏的子视图,直到用户点击一个按钮(子视图是UIScrollview)。我想以编程方式在该视图中添加按钮网格。我不知道如何指定按钮添加到哪个视图。我正在尝试关注http://www.raywenderlich.com/130/how-to-write-a-custom-image-picker-like-uiimagepicker

scrollview被称为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   = view;


1 个答案:

答案 0 :(得分:1)

通过检查[UIImage imageNamed:@“image.png”]的返回值确保UIImage有效

检查您的NSMutableArray是否已初始化

您的for循环看起来不寻常,请尝试更改为快速枚举

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

是否将graphicView作为子视图添加到某个地方?设置graphicView.backgroundColor = [UIColor redColor],这样你至少可以看到它被添加。