UINavigationController с UIView и UITableView - PullRequest
2 голосов
/ 20 мая 2010

Я создаю приложение на основе навигации, которое отображает график, отображаемый с помощью 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];

1 Ответ

0 голосов
/ 20 мая 2010

Исправлено путем простого добавления UITableView в IB, добавления IBOutlet к elementList и установки UIViewController в качестве делегата и источника данных через IB.

Переполнение стека может быть действительно полезным для обозначения ваших проблем словами, чтобы решение стало очевидным.

...