2014-01-07 2 views
0

Я ищу, чтобы представить окно по всему приложению (независимо от того, какой контроллер просмотра находится впереди/активен). Подобно тому, что делает Songza (изображение ниже). Могу ли я сделать что-то подобное из моего AppDelegate? Если нет, то где? Кроме того, что это лучший способ, чтобы сделать что-то вроде этого (не толкать новый вид, но какое-то накладка над текущим состоянием приложения?ios добавить окно состояния над текущим видом

enter image description here

+0

Если вы отправляете по электронной почте Songza и просите их переслать разработчикам. Много раз, эти компании действительно полезны. Я сделал то же самое с Wunderlist. Они дали мне весь код, который меня интересовал. –

+0

То, что я делал раньше, просто привнесло новый полупрозрачный вид спереди, но не закрывает никаких навигационных баров, панелей инструментов или панелей вкладок. Чтобы сделать что-то в этом полном объеме, может потребоваться возиться с самим объектом UIWindow. – valheru

ответ

0

У вас есть много вариантов, самое простое решение было бы использовать presentViewController:animated:completion:.

в качестве альтернативы, вы можете создать вид контейнера, который содержит остальную часть ваших взглядов и включает в себя функцию для отображения окна просмотра в функции, просто сделать вид из окна виден и вызвать [containerView bringToSubviewFront:windowView];

Другим вариантом было бы перемещение окна (SVProgressHUD делает это):

NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator]; 

for (UIWindow *window in frontToBackWindows) 
    if (window.windowLevel == UIWindowLevelNormal) 
    { 
     [window addSubview:self.overlayView]; 
     break; 
    } 
Смежные вопросы