彩票05——购彩大厅2_自定义蒙版、popMenu、UIView分类抽取
一、图示
二、自定义蒙版
2.1 分析
- 蒙版一般添加在keyWidown上面
- pop菜单加载keyWidown上面,如果添加到蒙版上面,会随着父控件的透明而透明
- 解决不透明的方法,不要修改alpha,修改背景颜色就可以了
cover.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7f];
我们的蒙版需要显示和隐藏两个方法,显示的时候添加到keyWindow上面,隐藏的时候从keyWindow上面移除。
2.2 QWMCover.h
//
// QWMCover.h
// 03_UIView79_彩票
//
// Created by 杞文明 on 17/8/23.
// Copyright © 2017年 杞文明. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface QWMCover : UIView
//显示
+(void)show;
//隐藏
+(void)hide;
@end
2.3 QWMCover.m
//
// QWMCover.m
// 03_UIView79_彩票
//
// Created by 杞文明 on 17/8/23.
// Copyright © 2017年 杞文明. All rights reserved.
//
#import "QWMCover.h"
#define QWMKeyWindow [UIApplication sharedApplication].keyWindow
@implementation QWMCover
+(void)show{
//1.创建蒙版
QWMCover *cover = [[QWMCover alloc]init];
//2.把蒙版添加到窗口上
[QWMKeyWindow addSubview:cover];
//3.设置尺寸
cover.frame = [UIScreen mainScreen].bounds;
//设置背景
cover.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7];
}
+(void)hide{
//隐藏蒙版
//从window中删除它
for (UIView *view in QWMKeyWindow.subviews) {
if ([view isKindOfClass:[QWMCover class]]) {
[view removeFromSuperview];
break;
}
}
}
@end
三、自定义popMenu
3.1 分析
pop菜单加载keyWidown上面,如果添加到蒙版上面,会随着父控件的透明而透明。除此之外如果添加到蒙版上面依赖会很强,所以我们添加到keyWindow上面
popMenu是静态,所以可以使用xib描述