用UICellectionView也可以搞定,根据需求来选择吧:)
在一个view中根据imgArray中图片数量,动态创建多个UIImageView展示图片,一行展示三个图片,当多于三个时,图片多一行,整个view也要增加高度。
//取屏幕宽高
float width = [UIScreen mainScreen].bounds.size.width;
chooseImageView = [[UIView alloc] init];
NSArray *imgArray = [[NSArray alloc] initWithObjects:@"1_leirobin.jpg",@"1_leirobin.jpg",@"1_leirobin.jpg",@"1_leirobin.jpg",@"1_leirobin.jpg",nil];
NSInteger picCount = [imgArray count];
//定义每个cell图片
for (int i=0;i<picCount;i++){
UIImageView *imageCell = [[UIImageView alloc] initWithFrame:CGRectMake(width/3*(i%3), width/3*(i/3)+20, width/3, width/3)];
imageCell.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[imgArray objectAtIndex:i]]];
//每当第4个图片时,增加一行,增加整个view的高度
if (i%3 == 0) {
[chooseImageView setFrame:CGRectMake(0, 100, width, chooseImageView.frame.size.height+width/3+20)];
}
[chooseImageView addSubview:imageCell];
}
[self.view addSubview:chooseImageView];