Как добавить два чередующихся UITableViews в существующее представление UINavigationController? - PullRequest
0 голосов
/ 11 мая 2010

Я новичок в разработке для iPhone и пишу приложение для iPhone, для которого нужны два разных представления таблицы, которые можно выбрать с помощью панели кнопок или панели вкладок. Эти таблицы имеют одинаковый размер, но охватывают только две трети экрана снизу вверх. Верхняя часть экрана остается неизменной при отображении любой из этих таблиц. Я также хотел бы анимировать (перевернуть) эти представления, когда пользователь выбирает одно или другое.

Представление, на котором будут отображаться эти две таблицы, является подробным представлением моего приложения, в котором пользователь уже выбрал элемент из таблицы основного экрана. Я использую UINavigationController для управления основным и подробным представлениями, и у меня это работает. У меня также есть первая из этих двух подробных таблиц, работающих как часть моего подробного представления, но я думаю, что имеет больше смысла изолировать код для этих двух таблиц, а не дублировать весь код для той части подробного представления, которая не ' t изменить.

Мне все равно, как создаются эти два табличных представления (в коде или через IB). Я пробовал несколько вещей, и я не могу понять это. Любая помощь или идеи (с примером кода) будет принята с благодарностью!

1 Ответ

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

Для этого есть два подхода:

1) На самом деле есть только одно представление таблицы. Измените код, который выполняется в функциях делегата, в соответствии с тем, из какой таблицы вы хотите увидеть результаты. Я использовал это с таблицами, основанными на основных данных, и просто изменил предикат, чтобы получить разные данные обратно. Мой cellForRowAtIndexPath просто возвращает правильный тип ячейки в соответствии с полученными данными.

2) Сделайте каждую таблицу tableviewcontroller. Добавьте их обоих, используя alloc / init'ing, затем

[self.view addSubview: tvc1.view];

[self.view addSubview: tvc2.view];

затем спрячь того, кого не хочешь видеть. Вам нужно будет установить рамку и т. Д., Но это тривиально.

Если вы хотите анимировать между двумя представлениями, просто используйте базовое преобразование (задайте это как отдельный вопрос, если вы не можете его найти, но это не сложно и, вероятно, уже здесь рассматривается)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...