I have a view controller that I overlay on top of another view controller. I just need the top view controller so I can overlay a temporary pop up notification, and having an overlayed VC allows me to present this over a UITableViewController as you can't add subviews to tableview controllers directly.
Is it possible to interact with the bottom view controller while it has another view controller covering it. If this were a view or a window you would achieve this by setting user interaction to false or using hitTest but neither of these approaches works for a view controller.
As you've correctly deduced, when you present one view controller over another, the presenting view controller's view is not in the responder chain. Touches in the presented view controller's view therefore cannot "fall through" to it. You will have to route your message from the presented view controller's view in some other way.
You don't have access to previous ViewController, and user can't interact by touch with it. Property modalPresentationStyle = .OverCurrentContext just means that views under presented content are not removed from the view hierarchy.
Create subclass like this
Then in your ViewController set view class (you can do it directly in xib, or inside loadView() method)
And add
Also you can use this mechanism to delegate touches to any other view, no matter if it