当用户触摸表格单元格时,我遇到了表格问题并显示另一个视图。我正在为主视图使用 UITabBarController 来显示不同的视图。然后,当用户选择 UITableView 视图以显示来自表格单元格选择的下一个视图时,我使用 UINavigationController。
我的问题是:当他们选择表格单元格时,单元格被突出显示并且下一个视图没有出现。我正在使用 IB。我发现的所有示例都以与我相同的方式执行此操作,除了示例有效!
我将控制器加载到带有字典的 NSMutableArray 中。我还通过直接创建视图控制器而不是使用数组项来尝试此代码。同样的结果......
我检查了目标控制器 (Calc1ViewController) 以确保控制器没有任何问题。直接显示时,控制器(Calc1ViewController)正确显示。
这是一些代码......
字典中视图控制器的初始化:
Calc1ViewController *calc1ViewController = [[Calc1ViewController alloc] init];
[menuList addObject:[NSDictionary dictionaryWithObjectsAndKeys:
NSLocalizedString(@"SSC - page 1",@""), @"title",
calc1ViewController, @"viewController",
nil]];
[calc1ViewController release];
我也在不使用字典的情况下尝试了这个——创建一个视图控制器来代替 [[menuList objectAtIndex:...]; 行——通过像这样创建视图控制器:
Calc1ViewController *targetViewController = [[Calc1ViewController alloc] init];
// the table's selection has changed, switch to that item's UIViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *targetViewController = [[menuList objectAtIndex: indexPath.row] objectForKey:@"viewController"];
[[self navigationController] pushViewController:targetViewController animated:YES];
targetViewController = nil;
}
导航控制器定义在 AppDelegate 中,通过 IB 连接到 RootViewController。
当我选择一个表行时,它在调试器中显示 pushViewController 代码已执行,但下一个视图不显示。这是一个例子:
替代文字 http://thecoolestcompany.com/ssc-table-view.jpg
有任何想法吗?