gpt4 book ai didi

ios - 在类外单击按钮时将 tableView 添加为 subview

转载 作者:行者123 更新时间:2023-11-29 03:22:40 25 4
gpt4 key购买 nike

我有一个带有自定义单元格的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 类中声明的。

我还为我想要添加为 tableViewController subview 的 tableView 创建了一个类。

现在,当我使用下面的代码打开 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 的 ViewDidLoaddidSelectRowAtIndexPath 中的代码时,它工作正常。

我还尝试在 mainViewController 中创建一个方法并从 UIButton 调用该方法,但它也不起作用。当我调用 didSelectRowAtIndexPath 处的方法时,它起作用了。我不确定我错过了什么。

方法如下所示:

 - (void)abrirTableViewParaAtividadesPraticadas
{
AtividadesPraticadasTableView *tableview = [[AtividadesPraticadasTableView alloc] initWithFrame:CGRectMake(10, 10, 300, 300) style:UITableViewStylePlain];
[self.view addSubview:tableview];
}

最佳答案

在此处添加按钮目标:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath
{
//init your custom cell here
[yourCustomCell.button addTarget:self action:@selector(botaoAdicionar:) forControlEvents:UIControlEventTouchUpInside];
}

然后在您的 UITableViewController 中实现 -(IBAction)botaoAdicionar:(id)sender 方法。

此外,如果你想添加一个 UIViewControllerUITableViewController 作为 subview ,你必须这样做:

[destinationVC.view addSubview:tableViewController.view];

关于ios - 在类外单击按钮时将 tableView 添加为 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20891983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com