2017-02-18 5 views
0

Я реализую несколько uiwindows.Как доставить события между несколькими uiwindows

Причина в том, что нижний мин. Вид должен оставаться всегда сверху, когда происходят другие виды.

Главное окно находится под вторым окном. Он обеспечивает отличный способ обработки отдельного вида без каких-либо запутываний. Например, представление или запуск нового контроллера просмотра в главном окне.

Но главная проблема заключается не в том, чтобы доставлять события из второго окна в главное окно. Второе окно имеет прозрачный фон, за исключением нижней области, и приходится доставлять события на прозрачном фоне во второе окно.

enter image description here Есть ли кто-нибудь знает способ обработки событий в многослойных окнах?

ответ

0

Я выполнил приведенный ниже код в uiwindow. этот код позволяет передавать события в окно ниже, когда события достигаются в прозрачной области окна.

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    UIView *resultView = [super hitTest:point withEvent:event]; 

    if (resultView == self) { 
     NSLog(@"touched in transparent window !!"); 
     return nil; 
    } else { 
     NSLog(@"touched in view!!"); 
     return resultView; 
    } 

    return resultView; 
} 
Смежные вопросы