標籤:
主要實現的代碼如下:
self.rateInfoView是定義好的控制屬性控制項
可以改變透明度的值來改變毛玻璃透明的效果
// 虛擬交易費率彈窗- (void)showRateInfo{ self.rateInfoView = [[UIView alloc]initWithFrame:self.windowView.frame]; // rateInfoView.backgroundColor = [UIColor blackColor]; self.rateInfoView.alpha = 0.f; [self.view addSubview:self.rateInfoView]; // 建立需要的毛玻璃特效類型 UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; // 毛玻璃view 視圖 UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; //添加到要有毛玻璃特效的控制項中 effectView.frame = self.windowView.frame; [self.rateInfoView addSubview:effectView]; //設定模糊透明度 effectView.alpha = .8f; UIImageView *rateImage = [[UIImageView alloc]initWithFrame:CGRectMake(Width*0.1, (Height-Width*0.8*1.11)/2+20, Width*0.8, Width*0.8/1.11)]; rateImage.image = [UIImage imageNamed:@"虛擬費率彈窗"]; [self.rateInfoView addSubview:rateImage]; UIButton *closeInfo = [UIButton buttonWithType:UIButtonTypeCustom]; closeInfo.frame = CGRectMake(Width*0.9-22-12, (Height-Width*0.8*1.11)/2+20+12, 22, 22); [closeInfo setImage:[UIImage imageNamed:@"cancel"] forState:UIControlStateNormal]; [closeInfo addTarget:self action:@selector(closeRate) forControlEvents:UIControlEventTouchUpInside]; [self.rateInfoView addSubview:closeInfo]; [UIView animateWithDuration:0.2 animations:^{ self.rateInfoView.alpha = 1.0f; }]; }- (void)closeRate{ [self.rateInfoView removeFromSuperview]; }
:
iOS開發——毛玻璃透明