Как сделать вид, который остается на экране при переходе к основному виду?

Как сделать вид, который не перезагружается (остается на экране) каждый раз при переходе к просмотру? Как и элементы управления звуком в приложении Apple для подкастов. Смотрите картинки, чтобы увидеть элементы управления звуком, на которые я ссылаюсь.

Как мне сделать это в раскадровке?

введите описание изображения здесь

3 ответа

Решение

То, на что вы ссылаетесь, обычно называется "мини-плеер", вы найдете это и во многих других приложениях.

Техника, которую вы должны использовать, называется "UIViewController Containment", в раскадровках она доступна как "Вид контейнера" и "Вставить сегменты".

Типичная раскадровка может выглядеть так:

  • В контроллере корневого представления к его виду добавлены два контейнера.
  • Контейнерные представления имеют переходы для просмотра контроллеров. В представлении
  • контроллер, который относится к нижнему, настройте мини-плеер.
  • Контроллер представления верхнего контейнера встроен в контроллер навигации и контроллер представления с вкладками.

экран

Это создаст иерархию контроллера представления.

Для реализации самого проигрывателя создайте класс проигрывателя, который вы создаете в делегате приложения, и передаете его свойству в корневой vc. оттуда передайте его контроллеру мини-плеера и верхнему контроллеру, который будет содержать список песен / подкастов /... для выбора. При выборе передайте шляпную песню классу игрока.


Я разместил пример приложения на GitHub: https://github.com/vikingosegundo/HearThisMiniplayer

экран

Я думаю, что вы можете сделать это, добавив его поверх окна приложения (UIWindow, подкласс UIView)

UIView *myView = /* <- Your custom view */;
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:myView];

Взял код с /questions/41863665/dobavte-uiview-prevyishe-vsego-dazhe-panel-navigatsii/41863680#41863680

Или вы можете добавить в UITabBarController.view напрямую, так как это UIView охватывает весь экран.

Вы должны сделать пользовательский вид для этого, хотя.

Вы говорите о панели значков в нижней части экрана (Unplayed, My Podcasts, Featured и т. Д.)? Это интерфейс UITabBarController, который можно настроить в раскадровке.

Другие вопросы по тегам