Я новичок в разработке iOS. Я создаю демонстрационный проект, где у меня есть TableView и прототип ячейки. Я взял четыре изображения в этой ячейке. У меня есть группа, где у меня 30 изображений. Итак, в моем коде я взял массив для хранения изображений. Теперь я хочу заполнить таблицу таким образом, чтобы в моем TableView было 8 строк. Каждая строка будет состоять из 4 изображений, но последняя строка, которая является восьмой строкой, будет состоять из двух изображений.Наполнение таблицы согласно моему требованию
Но когда я запускаю свой код, в последней строке также отображаются 4 изображения вместо 2. Может ли кто-нибудь сказать мне, где я ошибаюсь? Заранее спасибо.
Это мой код ...
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.patternsArray = @[@"1.jpg",@"3.jpg",@"2.jpg",@"4.jpg",@"6.jpg",@"5.jpg",@"7.jpg",@"9.jpg",@"8.jpg",@"10.jpg",@"12.jpg",@"11.jpg",@"13.jpg",@"15.jpg",@"14.jpg",@"16.jpg", @"18.jpg",@"17.jpg",@"19.jpg",@"21.jpg",@"20.jpg",@"22.jpg",@"24.jpg",@"23.jpg", @"25.jpg",@"27.jpg",@"26.jpg",@"28.jpg",@"30.jpg",@"29.jpg"];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TableCell"];
UIImageView *imageView1 = (UIImageView*)[cell.contentView viewWithTag:1];
imageView1.image = [UIImage imageNamed:[self.patternsArray objectAtIndex:indexPath.row]];
UIImageView *imageView2 = (UIImageView*)[cell.contentView viewWithTag:2];
imageView2.image = [UIImage imageNamed:[self.patternsArray objectAtIndex:indexPath.row+1]];
for (NSInteger i=0; i<=[self.patternsArray count]; i++) {
UIImageView *imageView3 = (UIImageView*)[cell.contentView viewWithTag:3];
imageView3.image = [UIImage imageNamed:[self.patternsArray objectAtIndex:indexPath.row+2]];
UIImageView *imageView4 = (UIImageView*)[cell.contentView viewWithTag:4];
imageView4.image = [UIImage imageNamed:[self.patternsArray objectAtIndex:indexPath.row+3]];
}
return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [self.patternsArray count]/3.75;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Нет чувак! Приходят 32 изображения. Последняя строка содержит 4 изображения вместо 2. :(@Sumit – Tirthendu
Я добавил эту строку 'if (indexPath.row! = 7) {}' это означает, что цикл не работает в то время, когда 8-я строка попала в cellForRowAtIndexPath. –
I понял, что вы сделали! Но это не работает. :(@Sumit – Tirthendu