

前面のUIWindowと後面のUIWindowがある状態で、  
タップイベントを前面のWindowをスルーさせて、  
後面のWindowで処理したいため、前面のWindowを  
以下のように実装しました。

[code]

    class FrontWindow : UIWindow {
        override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
            var hitTestView = super.hitTest(point, with: event)
            print("hitTest = Hit!")
            return nil
        }
    }
    
[/code]

FrontWindowの生成は以下のように行っております。

[code]

    frontWindow = UIWindow()
    frontWindow?.frame = window!.frame
    frontWindow?.makeKeyAndVisible()
    
[/code]

期待値としては、画面のタップで、

[code]

    FrontWindow.hitTest(_ point: CGPoint, with event: UIEvent?)
    
[/code]

が呼び出されることなのですが、動作確認してみると、  
画面をタップしても`FrontWindow.hitTest`が呼び出されません。

何か足りない処理などありますでしょうか。  
宜しくお願いいたします。


CC BY-SA 4.0
2020-03-25T08:21:26.260
64103
2020-03-25T08:35:20.683
2020-03-25T08:35:20.683
3060
23788
question
swift ios
swift で hitTest(_, with event) が呼び出されない