【发布时间】:2016-02-16 19:23:50
【问题描述】:
SO 和网上的所有类似问题都是关于在 UIImageView 上放置 UILabel,这是我熟悉的,但是我必须在多个 UIImageView 上放置多个 UILabel。每个 UIImageView 上一个。我有一个这样的 for 循环:
for(int i=0;i < [arrURL count] ;i++)
{
UIImageView *view_Image = [[UIImageView alloc]initWithFrame:CGRectMake(x, y, 400, 180)];
y = y + 182;
view_Image.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:arrURL[i]]]];
UILabel *lblName = [[UILabel alloc] initWithFrame:CGRectMake(view_Image.frame.origin.x, view_Image.frame.origin.y, view_Image.frame.size.width, view_Image.frame.size.height)];
[lblName setText:arrNames[i]];
[view_Image addSubview:lblName];
[mainScroll addSubview:view_Image];
}
当我运行代码时,UILabel 只出现在第一个 UIImageView 上,其余的 UIImageView 出现在 UILabel 的顶部。 (我通过向 UILabel 添加背景颜色发现了这一点)。如何让 UILabel 出现在 UIImageView 上。提前致谢。
【问题讨论】:
-
我认为这不是在每个
UIImageView上添加标签的最佳方法...子类化将是一种更简洁的方法。
标签: ios objective-c uiimageview uilabel