UILabels を iPhone のビューに追加するための関数またはループ プロトタイプを探しています。これは、追加する必要があるラベルの数が事前にわからないため、動的に追加する必要があるためです。
私の擬似コードは次のとおりです。アイデアは、各ラベルに文字列が与えられ、次の画面に配置されるというものです。したがって、 +self.view.frame.size.width ステートメントです。ページングなどは完全に機能します。問題は、すべてのラベルが 2 番目の画面に表示されることです。つまり、ラベル 3 がラベル 2 の上に表示されます。問題は、常に altLabel を参照しているように見えるため、 2番目の位置、私は常にその位置を参照しており、一度も移動することはありません.
「count」変数を使用して画面幅を倍増させることができますが、そうすると、ラベル テキストを更新するたびに前のテキストが上書きされます。
int count = 0;
int maxNumber = 10;
while(count < maxNumber) {
//Add a label
UILabel *altlabel; //Declare the label
if (count > 0) {
//Move the label
altlabel = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(altlabel.frame)+self.view.frame.size.width,10,300,25)];
altlabel.text = [NSString stringWithFormat:@"%@ %@ (%d)", _name,_age, class+count];
}
else {
altlabel = [[UILabel alloc] initWithFrame:CGRectMake(10,10,300,25)];
altlabel.text = [NSString stringWithFormat:@"%@ %@ (%d)", _name,_age, class];
}
altlabel.textColor = [UIColor greenColor];
[altlabel sizeToFit];
[_scrollView addSubview:altlabel];
count++;
}