У меня есть два UITableView с пользовательскими ячейками, и я столкнулся с странным поведением.Несколько UITableView с пользовательскими ячейками. Не работает прокрутка
Таблицы периодически обновляются новыми записями. Я добавляю 20 записей в таблицу # 1, а таблица №2 все еще пуста. Все записи не помещаются на экране, поэтому таблица отображается с прокруткой. Затем я добавляю запись в таблицу №2, а таблица № 1 перестает прокручиваться (вы можете видеть только первые несколько записей, которые поместились на экране).
После перезагрузки данных для таблицы №1 проблема исчезает.
Когда ячейки не настроены, у меня нет проблем с прокруткой.
#import "MyViewController.h"
#import "MyCell1.h"
@implementation MyViewController
@synthesize table1, table2;
- (void)viewDidLoad
{
[super viewDidLoad];
viewList = [NSMutableArray array];
viewMemory = [NSMutableArray array];
[table1 setDataSource:self];
[table2 setDataSource:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSInteger num = 0;
if ([tableView tag] == 1980) {
num = [viewList count];
}
else if ([tableView tag] == 1981) {
num = [viewMemory count];
}
return num;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyCell1 *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
NSString *someText;
if (!cell) {
cell = (MyCell1*)[[[NSBundle mainBundle] loadNibNamed:@"Cell1"owner:self options:nil] objectAtIndex:0];
}
if ([tableView tag] == 1980) {
someText = [viewList objectAtIndex:indexPath.row];
}
else if ([tableView tag] == 1981) {
someText = [viewMemory objectAtIndex:indexPath.row];
}
[[cell value] setText:someText];
return cell;
}
- (IBAction)ButtonClick:(UIButton *)sender {
if ([sender tag] == 1980) {
[viewList addObject:@"0000"];
[[self table1] reloadData];
}
else if ([sender tag] == 1981) {
[viewMemory addObject:@"1111"];
[[self table2] reloadData];
}
}
@end