window上的悬浮视图

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。