我开始研究iphone应用程序,因为我没有大多数人的经验,所以我无法弄清楚如何重新创建动态图像视图,标签和按钮。基本上会有一个数组存储一些数据。但是,阵列的大小会有所不同,因此我无法在故事板上创建静态VC。我想使用以下模板,然后数组应该使用此模板根据需要重新创建它:
http://www.dropinsight.eu/screenshot1.png
提前感谢您提供任何帮助。
干杯
最高
答案 0 :(得分:2)
您可以考虑将图像视图,标签和按钮放在UITableView
。
不要在故事板中使用UIViewController
,而是使用UITableViewController
。这将是tableView的数据源和委托,可用于创建UITableViewCell
。每个单元格可以包含imageView,文本和每个示例的2个按钮
有关详细信息,请参阅Apple docs。
答案 1 :(得分:1)
如果我正确地解释了你的问题,你想要一些项目清单,它们可以详细显示每个项目的信息。
我会看看UITableView,它是一个用于显示多行数据的类,你可以修改它的行为来显示一个与你在这里描述的视图不同的视图。
Xcode有几个iOS应用程序模板,其中一个是带有tableview的应用程序。我建议打开一个示例项目并阅读像这样的教程:http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html
答案 2 :(得分:1)
以前关于使用UITableView将数组中的每个条目显示为单元格的答案是您想要的方式。要回答关于“动态创建”每个项目的问题,您可能希望在cellForRowAtIndexPath中创建每个UI元素,如下所示:
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,w,h)];
[imageView setTag:1];
[cell addSubview:imageView];
[imageView release];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(x,y,w,h)];
[label setFont:[UIFont systemFontOfSize:X]];
[label setTag:2];
[cell addSubview:label];
[label release];
UIButton *button1 = [[UIButton alloc] initWithFrame:CGRectMake(x,y,w,h)];
[button1 setImage:[UIImage imageNamed:@"ABC"] forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchUpInside];
[button1 setTag:3];
[cell addSubview:button1];
[button1 release];
etc
然后在你的willDisplayCell方法中,你将设置为每一行更改的任何UI项目的内容,如下所示:
UIImageView *imageView = (UIIamgeView *)[cell viewWithTag:1;
UILabel *label = (UILabel *)[cell viewWithTag:2];
[imageView setImage:[UIImage imageNamed:@"XYZ"]];
[label setText:@"XYZ"];