У меня есть два вида таблицы в одном представлении Controller и кнопка меню. Изначально отображается только таблицаView1, когда я нажимаю кнопку меню, появляется второй вид таблицы, и таблицаView1 все еще присутствует.Две таблицы в одном представлении контроллера
Я читал, и я реализовал то, что нашел, но безрезультатно.
Отображается обе таблицы, но данные одинаковы, и я не хочу этого. Я пытался сделать так:
- (void) viewDidLoad {
tableView.hidden = NO;
tableViewMenu.hidden = YES;
tableView.delegate = self;
tableView.dataSource = self;
tableViewMenu.delegate = self;
tableViewMenu.dataSource = self;
}
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView == tableView) {
return 30;
}
else {
return 4;
}
}
- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView == tableView) {
static NSString *CellIdentifier1 = @"Cell1";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1] ;
}
cell.textLabel.text = @"Table 1";
NSLog(@"1here is%i %@",indexPath.row,cell.textLabel.text);
return cell;
} else {
static NSString *CellIdentifier2 = @"Cell2";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2] ;
}
cell.textLabel.text = @"Table 2";
return cell;
}
}
int i = 1;
- (void) showMenu {
//slide the content view to the right to reveal the menu
//tableView.hidden = NO;
tableViewMenu.hidden = NO;
NSLog(@"Display");
if (i == 1) {
[UITableView animateWithDuration:.25
animations:^{
[tableView setFrame:CGRectMake(tableViewMenu.frame.size.width, tableView.frame.origin.y, tableView.frame.size.width, tableView.frame.size.height)];
[testView setFrame:CGRectMake(tableViewMenu.frame.size.width, testView.frame.origin.y, testView.frame.size.width, testView.frame.size.height)];
}];
i = 0;
} else {
[UIView animateWithDuration:.25
animations:^{
[tableView setFrame:CGRectMake(0, tableView.frame.origin.y, tableView.frame.size.width, tableView.frame.size.height)];
[testView setFrame:CGRectMake(0, testView.frame.origin.y, testView.frame.size.width, testView.frame.size.height)];
tableViewMenu.hidden=YES;
}];
i = 1;
}
}
Вы действительно не должны использовать тег, когда он не нужен (здесь вы уже имели свойства подключен к вашим табличным представлениям). Код намного менее читабельен и добавляет излишнюю сложность. Тег должен использоваться, если у вас нет свойств (например, если вы создаете свой код в коде) – KIDdAe