Я создаю приложение на основе навигации, которое отображает график, отображаемый с помощью openGL, и таблицу раскрытия списка кнопок со всеми элементами, отображаемыми на графике, и кнопку раскрытия настроек.
Контроллер навигации также является делегатом табличного представления и источником данных, и табличное представление добавляется к представлению программно, и его делегату и источнику данных присвоено значение "self". Графическое представление на основе OpenGL добавляется через IB.
Проблема, с которой я столкнулся, заключается в том, что я пытаюсь вставить контроллер представления (либо настройки, либо свойства элемента графика) в метод didSelectRowAtIndexPath. Метод регистрируется, и новое представление добавляется, но табличное представление остается и скрывает часть представления, которое было добавлено, как если бы оно имело другой навигационный контроллер.
Кажется, я не могу установить контроллер навигации в табличном представлении таким же, как и остальные представления UINavigationControllers.
Кто-нибудь знает, как я мог это исправить?
Метод initWithCoder моих контроллеров навигации, куда добавляется табличное представление, выглядит следующим образом:
elementList = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStyleGrouped];
elementList.dataSource = self;
elementList.delegate = self;
[self.view addSubview:elementList];
Далее в исходном файле метод DidSelectRowAtIndexPath, в который перемещается контроллер навигации, выглядит следующим образом:
Settings* Controller = [[Settings alloc] init];
[self pushViewController:Controller animated:YES];
[Controller release];