У меня проблема с таблицей и отображается другое представление, когда пользователь касается ячейки таблицы. Я использую UITabBarController для основного вида, чтобы показать разные виды. Затем я использую UINavigationController, когда пользователь выбирает представление UITableView для отображения следующего представления из выбора ячеек таблицы.
Моя проблема заключается в следующем: когда они выбирают ячейку таблицы, ячейка подсвечивается, а следующее представление не отображается. Я использую 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: ...]; line - создавая контроллер вида следующим образом:
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 и подключен к RootViewController через IB.
Когда я выбираю строку таблицы, в отладчике показывается, что код pushViewController выполняется, но следующее представление не отображается. Вот пример:
альтернативный текст http://thecoolestcompany.com/ssc-table-view.jpg
Есть идеи?