/ / Toque no encaminhamento de eventos no iOS - ios, objetivo-c, evento de toque, resposta do usuário, uievent

Toque no encaminhamento de eventos no iOS - ios, objetivo-c, evento de toque, resposta ao usuário, uievent

Eu tenho um componente de interface do usuário que eu quero exibir emmeu aplicativo, de tal forma que qualquer evento de toque o rejeita (embora tocar o componente em si produziria um resultado diferente do que tocar fora dele).

Minha solução atual é ter uma interface do usuário personalizadasubclasse que manipula o toque corretamente e fica em cima de toda a tela. No entanto, eu não quero que o toque seja consumido, mas sim encaminhado para qualquer elemento da interface do usuário por trás dele (ou seja, eu quero que o toque acione algo dentro da janela, mas ainda direcione o evento para as visualizações atrás da janela).

A maneira como tentei encaminhar os eventos de toque estava em - [MyWindow sendEvent:]:

NSUInteger superWindowIndex = [[UIApplication sharedApplication].windows indexOfObject:self];
if (superWindowIndex == 0 || superWindowIndex == NSNotFound) {
[super sendEvent:event];
} else {
[[UIApplication sharedApplication].windows[superWindowIndex - 1] sendEvent:event];
}

No entanto, isso não funcionou como eu esperava.

Qual é a melhor maneira de conseguir o que estou tentando fazer? Uma interface do usuário é a abordagem correta? Obrigado!

Respostas:

1 para resposta № 1

Minha solução não é encaminhar o toque, mas incluir seu componente de interface do usuário em outro modo de exibição que abranja todos os UIWindow. Em seguida, você pode adicionar o TapGesture à zona externa à sua interface principal.