Как сделать вид, который остается на экране при переходе к основному виду?
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, который можно настроить в раскадровке.