我正在使用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
吗?
答案 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];
}
}