将一组按钮添加到特定的子视图
Posted
技术标签:
【中文标题】将一组按钮添加到特定的子视图【英文标题】:Adding an array of buttons to a particular subview 【发布时间】:2013-02-08 17:50:32 【问题描述】:我有一个隐藏的子视图,直到用户单击按钮(子视图是 UIScrollview)。我想以编程方式在该视图中添加一个按钮网格。我不确定如何指定将按钮添加到哪个视图。我正在尝试关注http://www.raywenderlich.com/130/how-to-write-a-custom-image-picker-like-uiimagepicker
滚动视图被称为图形视图
这就是我所拥有的
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++;
这是本教程中我唯一没有使用的部分......
[查看 setContentSize:CGSizeMake(320, (row+1) * 80 + 10)];自我观 = 视图;
【问题讨论】:
老实说,我不明白你有什么问题。你的代码不工作吗? 我不明白你的问题。您在 for 循环中将按钮添加到 graphicsView,那么有什么问题?这不工作吗。另外,当您在每个索引处放置相同的图像时,为什么要为缩略图创建一个数组? 我正在使用相同的图像来进行测试。不,什么都没有出现。我确实在界面生成器中创建了滚动视图。 我会验证我的滚动视图是否存在并通过更改其背景颜色来正确调整大小,然后我会打印出每个按钮框架的值。 【参考方案1】:通过检查 [UIImage imageNamed:@"image.png"] 的返回值确保 UIImage 有效
检查你的 NSMutableArray 是否已经初始化
您的 for 循环看起来不寻常,请尝试更改为快速枚举
for (UIImage *thumb in arrayOfThumbnails)
// UIImage *thumb = [arrayOfThumbnails objectAtIndex:i]; <-- Not needed
...
graphicView 是否被添加为某处的子视图?设置 graphicsView.backgroundColor = [UIColor redColor] 这样你至少可以看到它正在被添加。
【讨论】:
我的图像数组中似乎没有项目? 好的,数组不再为空,我创建了按钮并将其打印在日志中,它显示以上是关于将一组按钮添加到特定的子视图的主要内容,如果未能解决你的问题,请参考以下文章
如何识别 UIAutomation 中添加到 UIButton 的子视图(imageviews)?