Как я могу сделать анимированный переход на UISplitView? - PullRequest
3 голосов
/ 05 августа 2011

Я посмотрел пример, сгенерированный xcode при создании нового приложения UISplitView на iPad, а также бесчисленные другие учебные пособия и документацию с сайта разработчиков Apple. Я не видел пример, где используемый UISplitView не был корнем приложения. Это вообще возможно?

Что я пытаюсь выполнить: у меня есть UITableView для запуска, и после выбора элемента в списке я хотел бы отобразить разделенное представление с двумя различными наборами информации, основанной на выбранном элементе.

Мне любопытно, возможна ли такая реализация, или она просто не одобряется, и почему. Если это возможно, как бы мне реализовать и подключить UISplitView, чтобы вести себя таким образом?

Редактировать: я обновляю это с тем, что у меня есть. Теперь я могу переключиться на свой UISplitView, хотя переход не анимирован. Как правильно переключиться на UISplitView, чтобы переход был анимированным?

Код для переключения прямо сейчас:

[appDelegate.window addSubview:appDelegate.splitViewController.view];
appDelegate.window.rootViewController = appDelegate.splitViewController; 

РЕДАКТИРОВАТЬ 2: В надежде увеличить это, чтобы больше людей его увидели, мне удалось переключиться с моего контроллера навигации на мой splitViewController, но когда я добавляю кнопку, чтобы иметь возможность вернуться назад, ничего, что я делаю, не имеет значения и я, кажется, заблокирован. Я попытался отразить код, чтобы переключиться на splitViewController, но это не повлияло, и у меня совершенно нет идей. Кто-нибудь может пролить свет на это?

Ответы [ 3 ]

6 голосов
/ 14 августа 2011

Вы всегда должны использовать SplitViewController в качестве rootViewController: Контроллер разделенного представления должен быть контроллером корневого представления

Могут быть некоторые взломы, но когда у Apple есть сильная рекомендация и рекомендации по дизайнуЯ предлагаю попытаться переосмыслить ваш дизайн, прежде чем идти против платформы - это должно сэкономить ваши усилия в долгосрочной перспективе.

3 голосов
/ 16 августа 2011

Я рекомендую использовать MGSplitViewController , он также работает как non-rootViewController, даже вложенный в другой MGSplitViewController, и есть, например, однострочная анимация для смешивания в Master-View, если это то, что вы хотите.

1 голос
/ 06 августа 2011

В вашем методе UITableView didSelectRowAtIndexPath вы получите что-то вроде:

UISplitViewController *mySplitView = [[UISplitViewController alloc] init];
[self.navigationController pushViewController:mySplitView animated:YES];
[mySplitView release];

Вероятно, вы захотите создать подкласс UISplitViewController так же, как и другие контроллеры представления, и установить там главный и подробный виды и т. Д.

...