选择表格行时隐藏按钮

时间:2013-05-27 11:29:27

标签: iphone ios objective-c

所以我试图在TableView.m中隐藏一个按钮,每当我在DidSelectRowAtIndex中选择等于第二行时,就会在ViewController.h中声明该按钮。

我的代码:

TableView.m:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    [popoverSpending dismissPopoverAnimated:YES];

    UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
    if([self.delegate respondsToSelector:@selector(spendingButtonText:)]) {
        [self.delegate spendingButtonText:cell.textLabel.text];
    }

    if (indexPath.row == 2) {
        NSLog(@"2");
        AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
        appDelegate.vc=[[ViewController alloc] init];

        appDelegate.vc.button1.hidden = TRUE;

    }

    [self dismissViewControllerAnimated:YES completion:nil];
}

当我选择第二行时,它会跟踪2,这是NSLog(@"2");的正当理由。但是,名为 button1 的按钮仍然可见。我的TableView.m是一类ViewController。如果您需要查看更多代码并编辑错误,请告诉我。

1 个答案:

答案 0 :(得分:0)

执行此操作时:appDelegate.vc=[[ViewController alloc] init];,它会创建ViewController类的 new 实例。您想要的是现在正在显示的该类的现有实例。只需删除该行并直接设置appDelegate.vc.button1.hidden = TRUE即可。