Перенос проекта iPhone с использованием панели вкладок на iPad - PullRequest
2 голосов
/ 24 августа 2010

Как и многие другие разработчики, я создал проекты для iPhone, которые используют UITabBarController в качестве корневого контроллера, с представлениями вкладок с использованием UINavigationController s для перехода от списков к подробным представлениям. И, как и многим другим разработчикам, мне нужно перенести эти приложения на iPad, чтобы они использовали преимущества большого экрана (и, что более важно, не заставляли пользователя использовать некрасивую «удвоенную» визуализацию для приложений только для iPhone).

Apple создала UISplitViewController для этого точного сценария ... похоже. Я говорю, по-видимому, потому что, хотя я вижу, что он используется в настройках, iPod, iTunes и т. Д., Ни одно из этих приложений не использует UISplitViewController внутри UITabBarController, потому что оно не только задокументировано как не работающее, но приложения могут аварийно завершить работу, если эти два вынуждены вступить в брак с дробовиком.

Рассмотрим гипотетическое приложение для iPhone о животных. Он имеет три вкладки: «Категории» (где животные классифицируются простым способом - возможно, у нас есть двухуровневая иерархия с такими категориями, как «Птицы» и «Рыбы»), «Поиск» (в которой используется стандарт UITableView и UISearchDisplayController), и "Истории", которые представляют собой истории о животных (возможно, есть история о лягушках и другая о компьютерных ботаниках, которые превратились в единорогов 1333 года).

Хотя «Категории» и «Поиск» представляют собой две вкладки, которые можно объединить, неясно, что вы можете или должны объединить список животных с историями о животных , Итак, хотя вы можете использовать UISplitViewController на iPad (с поиском, интегрированным в «корень», слева, сбоку от разделения), как вы представляете представление «Истории»? Вы используете сегментированный контроллер? Сверху или снизу? «Корневой» или «подробный» вид раскола? Или, возможно, вы используете «домашний» экран (например, приложение WebMD для iPad), который показывает две кнопки («Категории» и «Истории»), а затем показывает разделенное представление для того, что пользователь нажимает? Или панель инструментов сверху или снизу?

Я пытался просмотреть несколько других приложений, в том числе «Настройки», «Почта», «iPod», «iTunes», «Контакты», «Карты» и т. Д., Но ни одно из них не представляет два «разных» вида информации в одном приложении.

Какой здесь общий подход? Есть ли лучшие практики? Какие общие шаблоны приняты сообществом программистов для iPad?

Или я жду и скрещиваю пальцы, чтобы Apple как-то в конечном итоге позволила UISplitViewController работать, не требуя, чтобы он был «корнем»? (Это может никогда не произойти!)

1 Ответ

6 голосов
/ 24 августа 2010

Вы можете использовать UISplitViewController и иметь UITabBarController в качестве главного контроллера представления (левая боковая панель, которая обычно представляет собой список).

Таким образом, вы все равно можете использовать вкладки и развернутьприближается, пока вы не прочитаете подробный вид для каждого животного (используя свою аналогию), а затем отобразите страницу подробностей в контроллере подробного представления (правая панель).

Это будет работать и не запрещено Apple илиHIG.

В любом случае, это моя идея:)

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