#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) @property (nonatomic ,strong) UIView *deliverView; //底部View@property (nonatomic ,strong) UIView *BGView; //遮罩- (void)appearClick { // ------全屏遮罩 self.BGView = [[UIView alloc] init]; self.BGView.frame = [[UIScreen mainScreen] bounds]; self.BGView.tag = 100; self.BGView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.0]; self.BGView.opaque = NO; //--UIWindow的优先级最高,Window包含了所有视图,在这之上添加视图,可以保证添加在最上面 UIWindow *appWindow = [[UIApplication sharedApplication] keyWindow]; [appWindow addSubview:self.BGView]; // ------给全屏遮罩添加的点击事件 UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(exitClick)]; gesture.numberOfTapsRequired = 1; gesture.cancelsTouchesInView = NO; [self.BGView addGestureRecognizer:gesture]; [UIView animateWithDuration:0.3 animations:^{ self.BGView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.2]; }]; // ------底部弹出的View self.deliverView = [[UIView alloc] init]; self.deliverView.frame = CGRectMake(0, SCREEN_WIDTH, SCREEN_WIDTH, SCREEN_WIDTH); self.deliverView.backgroundColor = [UIColor whiteColor]; [appWindow addSubview:self.deliverView]; // ------View出现动画 self.deliverView.transform = CGAffineTransformMakeTranslation(0.01, SCREEN_HEIGHT); [UIView animateWithDuration:0.3 animations:^{ self.deliverView.transform = CGAffineTransformMakeTranslation(0.01, 0.01); }]; }/** * 功能: View退出 */- (void)exitClick { NSLog(@"===="); [UIView animateWithDuration:0.3 animations:^{ self.deliverView.transform = CGAffineTransformMakeTranslation(0.01, SCREEN_HEIGHT); self.deliverView.alpha = 0.2; self.BGView.alpha = 0; } completion:^(BOOL finished) { [self.BGView removeFromSuperview]; [self.deliverView removeFromSuperview]; }]; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。