UINavigationController& UITableviewController具有不同数量的子级别

时间:2012-07-25 15:12:09

标签: uitableview ios5 uinavigationcontroller storyboard

我正在使用1个主表格视图的应用程序中工作。

根据某些参数(例如detailview sub)经过1,2或3 tableview级后,有些单元格会导致BOOL

应用行为如下:

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

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

等等(最多3级)。

有人知道如何(只使用storyboard)只用1 UITableViewController吗?

1 个答案:

答案 0 :(得分:0)

首先,从表视图控制器中在故事板中定义两个名为"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];
    }
}