window上的悬浮视图

window上的悬浮视图_第1张图片
image.png

(能不能出个视频转换成gif的功能,或者上传视频...好吧 好像都不显示,凑合看吧---示意图)

需求:视图可能会弹在任何页面上,要求不能阻碍底部视图的响应,点击关闭按钮可以关闭视图

1.可以禁止视图的userInteractionEnabled,但是按钮也要计算好 也是添加到window上,比较low
2.重写弹出视图的hitTest

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    int count = (int)self.subviews.count;
    //遍历子视图
    for (int i = count - 1; i >= 0; i--){

        UIView *cV = self.subviews[i];
        //转换坐标
        CGPoint cP =[self convertPoint:point toView:cV];
        
        UIView *fitView =[cV hitTest:cP withEvent:event];
        
        if (fitView) {
            return fitView;
        }
    }
    //window会遍历到 底部视图 让底部视图响应
    return nil;
}

你可能感兴趣的:(window上的悬浮视图)