1

我正在使用具有 1 个主表视图的应用程序。

根据某些参数(例如sub)detailview,在经过 1、2 或 3 个级别后,有一些单元格会导致 a 。tableviewBOOL

应用行为如下:

UINavigationController-> UITableViewController(sub == YES) -> UITableViewController(sub == NO)->DetailViewController

UINavigationController-> UITableViewController(sub == YES) -> UITableViewController(sub == YES) -> UITableViewController(sub == NO) ->DetailViewController

依此类推(最多 3 个级别)。

有人知道如何只用 1 来做到这一点(使用storyboardUITableViewController吗?

4

1 回答 1

0

首先,在您的表格视图控制器中定义两个“通用”segue ,并在故事板中调用"toDetail"和。"toNextLevel"一个 segue 应该导致细节控制器;另一个应该返回到表视图控制器。然后,tableView:didSelectRowAtIndexPath:使用一个条件实现该方法,当有一个级别时将您移动到下一个级别,或者当没有下一个级别时将您移动到详细信息屏幕:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if ([myModel rowHasNextLevel:indexPath.row]) {
        [self performSegueWithIdentifier:@"toNextLevel" sender:self];
    } else {
        [self performSegueWithIdentifier:@"toDetail" sender:self];
    }
}
于 2012-07-25T15:32:38.203 回答