我有tableViewController
个自定义单元格。代码如下:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section < 1) {
static NSString *adicionaCellIdentifier = @"AdicionaCell";
AtividadesPraticadasCustomCell *adicionaCell = [tableView dequeueReusableCellWithIdentifier:adicionaCellIdentifier];
if (!adicionaCell)
{
adicionaCell = [[AtividadesPraticadasCustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"AdicionaCell"];
}
adicionaCell.backgroundColor = [UIColor blackColor];
adicionaCell.selectionStyle = UITableViewCellSelectionStyleNone;
NSLog(@"CELL1");
return adicionaCell;
}
else {
static NSString *atividadesCellIdentifier = @"AtividadesCell";
UITableViewCell *atividadesPraticadasCell = [tableView dequeueReusableCellWithIdentifier:atividadesCellIdentifier];
if (!atividadesPraticadasCell) {
atividadesPraticadasCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"AtividadesCell"];
}
NSLog(@"%lu", (unsigned long)_arrayAtividadesPraticadas.count);
atividadesPraticadasCell.textLabel.text = [_arrayAtividadesPraticadas objectAtIndex:indexPath.row];
NSLog(@"CELL2");
return atividadesPraticadasCell;
}
}
在第一个单元格中,我有UIButton
,但它是在我为这些单元格创建的UITableViewCell
类中声明的。
我还为我想要添加为tableView
的子视图的tableViewController
创建了一个类。
现在,当我使用下面的代码打开subView时,它不起作用。此代码位于用于我的自定义单元格的UITableViewCell
类中。
- (IBAction)botaoAdicionar:(id)sender {
NSLog(@"TESTE BOTAO ADICIONAR");
AtividadesPraticadasTableView *tableview = [[AtividadesPraticadasTableView alloc] initWithFrame:CGRectMake(10, 10, 300, 300) style:UITableViewStylePlain];
Cadastro3TableViewController *teste = [[Cadastro3TableViewController alloc] init];
[teste.view addSubview:tableview];
}
当我使用tableViewController的ViewDidLoad
或didSelectRowAtIndexPath
中的代码时,它工作正常。
我还试图在mainViewController
中创建一个方法并从UIButton
调用该方法,但它也没有用。当我在didSelectRowAtIndexPath
调用该方法时,它可以工作。我不确定我错过了什么。
方法如下:
- (void)abrirTableViewParaAtividadesPraticadas
{
AtividadesPraticadasTableView *tableview = [[AtividadesPraticadasTableView alloc] initWithFrame:CGRectMake(10, 10, 300, 300) style:UITableViewStylePlain];
[self.view addSubview:tableview];
}
答案 0 :(得分:1)
在此处添加按钮目标:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//init your custom cell here
[yourCustomCell.button addTarget:self action:@selector(botaoAdicionar:) forControlEvents:UIControlEventTouchUpInside];
}
然后在-(IBAction)botaoAdicionar:(id)sender
中实施UITableViewController
方法。
此外,如果您想要添加UIViewController
或UITableViewController
作为子视图,您必须这样做:
[destinationVC.view addSubview:tableViewController.view];