2016-12-12 5 views
0

у меня есть второе окно я создаю, чтобы показать пользовательские уведомления в моем приложении:Второй UIWindow не получает события прикосновения

@property (strong, nonatomic) UIWindow *window2; 

И вот как я делаю это окно:

self.window2 = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, SCREEN_BOUNDS.size.width, 50)]; 
self.window2.backgroundColor = [UIColor blackColor]; 
self.window2.windowLevel = UIWindowLevelAlert; 
self.window2.rootViewController = custonViewController; 
[self.window2 makeKeyAndVisible]; 

проблема заключается в том, что никакое событие touch внутри custonViewController не работает. Я пробовал все, даже подкласс UIWindow и переопределить (void)sendEvent:(UIEvent *)event. Но это тоже не работает.

Как я могу заставить appadelate знать, что окно2 коснулось/постукивалось? Любые идеи?

+0

Вы делаете размер окна небольшим и выключенным. Почему вы ожидаете, что прикосновения будут работать? – rmaddy

+0

НЕТ Я НЕ. ЯВЛЯЕТСЯ ВНУТРИ ЭКРАНА, я просто набрал -50 по ошибке .. Я только что исправил его. –

+1

Пожалуйста, прекратите ЖЕЛТУ. У вас все еще есть проблема, что высота вашего окна составляет всего 50 пунктов. Это действительно все, что вы хотите? Это едва покрывает строку состояния. – rmaddy

ответ

0

Nevermind. Я узнал, что случилось. Я анимировал UIWindow, чтобы появляться и исчезать автоматически, в последовательности анимаций после завершения с предыдущего с задержкой, установленной с некоторыми секундами. Он блокировал любые события касания в течение всей последовательности анимаций. Итак, я отделил анимацию и поместил ее в асинхронные потоки, чтобы она получала штрихи в обычном режиме. до свидания!

Смежные вопросы