以编程方式创建文本字段?

时间:2013-09-21 22:35:46

标签: ios objective-c cocoa-touch

我有一个具有关系的对象的应用程序。 “Person”对象可以具有多个“评估”对象。它从导航控制器开始。从表视图中点击Person对象将带您进入具有所有“评估”的tableview。在他们所有评估的顶部,我有一个静态单元格,上面写着“所有评估”,我想在其中显示所有评估。

问题是因为我事先不知道他们有多少评估,我无法创建适当数量的文本字段来显示所有评估。

假设这个特定的人有7个评估,所有评估对象只有1个属性,“时间”。如何动态创建7个文本字段,其中显示相关的7个评估对象?

很抱歉,如果我不清楚的话。我尝试在IB中创建一个UIView,然后为每个评估多次创建相同的视图但是失败了。任何人都可以把我推向正确的方向吗?

1 个答案:

答案 0 :(得分:2)

如果您正在使用IB,则会反复使用相同的视图。 用它创建新的UILabel:

float currentY = 0.0f;
float spacing =5.0f;

for(Evaluation *evaluation in EvalationsArray)
{
    UILabel *textLabel = [[UILabel alloc] initWithFrame:CGRectMake(yourX,currentY,yourWidht, yourHeight)];
    [textLabel setText:[NSString stringWithFormat:@"%@ : %@",evaluation.name,evaluation.time]];
    [self.view addSubview:textLabel]
    currentY = currentY+spacing+yourHeight;
}