我有一个可变数组,如下所示
labelArrays = [NSMutableArray arrayWithObjects:@"One”, @“Two”, @“Three", nil];
我想将所有列表数组值显示为单个标签。这就像使用数组值动态显示UILabel
一样。我的所作所为如下,
int count=20;
for(int i = 0; i < [labelArrays count]; i++){
label1 = [[UILabel alloc]init];
label1.text = [labelArrays componentsJoinedByString:@" "];
label1.textColor = [UIColor colorWithRed:0.643 green:0.643 blue:0.639 alpha:1];
label1.layer.borderWidth = 1.0;
label1.layer.cornerRadius = 8;
count+=20;
[self addSubview:label1];
}
这里我只能显示单个标签内的所有数组值。如何动态显示多个标签中的数组值。
//viewcontroller
myView.label1.frame =CGRectMake(588,200,200,28);
答案 0 :(得分:2)
你的编码很好,但你没有添加框架,试试这个
label1 = [[UILabel alloc] initWithFrame: CGRectMake(0,count,aslikeyourwidth,aslikeyourheight)];
答案 1 :(得分:1)
只是一个想法 - 使用tableview显示数组会不会更好?
看起来您可能只需要处理它们在视图上的位置,因为代码看起来像是在添加标签,但是它们将它们放在彼此之上。
答案 2 :(得分:1)
为function isEmpty( el ){
return !el.has('*').length;
}
定义一个公共方法,您愿意在其中添加view
,将UILabel
传递给该方法,然后根据您的设计,每次迭代更新x坐标或y坐标。请按照以下步骤操作:
CGRect
现在在您的视图类中添加多个// code in your viewcontroller
[myView designYourMultipleLabelsWithStartingFrame:CGRectMake(588,200,200,28)]; // pass the frame of the first label.
,假设您已设置UILabel
。
labelArrays
希望这会有所帮助。