【发布时间】:2018-11-24 00:15:38
【问题描述】:
我正在我的自定义UIApplication 子类中拦截所有事件(用于调试目的):
[super sendEvent:event];
if(event.type == UIEventTypeTouches){
if(event.allTouches.anyObject.phase == UITouchPhaseBegan){
// NSLog(@"Touch began on view %@", event.allTouches.anyObject.view);
}
}
它适用于任何触摸,无论视图、手势识别器、用户交互等如何。
但是,我有一个MKMapView,它没有收到任何触摸(启用了用户交互),甚至没有将触摸转发到应用程序实例。换句话说,当我触摸特定的MKMapView 时,应用程序不会调用sendEvent:。
这怎么可能?据我所知,无论我做什么,UIApplication 都应该总是在sendEvent: 方法上收到触摸。
我错过了什么吗? (我在 iOS 11.4 上)
【问题讨论】:
标签: touch mkmapview uitouch uiresponder