Renfei Song's answer helped me out. I ended up using the obj-c extension mechanism to add a acceptsFirstResponder method to MTKView without subclassing MTKView. I know Swift supports a similar mechanism.