开发程序时,因为需求需要在status bar上显示东西并可以点击,还要有点击的东西的window level高于status bar,所以使用了多个uiwindow,结果在key window里播放视频时,其他window的坐标被改变了,导致显示不正常。这时只要自定义其他window继承UIWindow,在Window类里增加这个方法,是从UIView继承的,然后判断只要触发需要接收点击的区域就return yes,其他return no就ok了,同时要把你的window
frame设为全屏,color设为clear color
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
if (CGRectContainsPoint(CGRectMake(0,PROGRESS_VIEW_Y_OFFSET,STATUS_BAR_HEIGHT,ONLINE_STATUS_BAR_WIDTH), point))
{
return YES;
}
return NO;
}
时间: 2024-10-29 10:45:49