gpt4 book ai didi

ios - 如何添加模糊背景和弹出 View ?

转载 作者:行者123 更新时间:2023-11-28 20:57:04 24 4
gpt4 key购买 nike

我想在我的应用程序中有一个模糊的背景和 View 弹出窗口。但是当我点击我的按钮时,模糊背景和 View 没有出现......任何人都可以帮助我完成这个任务......我的代码是

- (IBAction)ButtonTouched:(id)sender {

if(!UIAccessibilityIsReduceTransparencyEnabled()){
self.view.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blureffectview = [[UIVisualEffectView alloc]initWithEffect:blurEffect];
blureffectview.frame = self.view.bounds;
blureffectview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
//[self.view addSubview:blureffectview];
[self.view insertSubview:_AnimatedViewForLoading aboveSubview:blureffectview];


}else{
//self.view.backgroundColor = [UIColor blackColor];
}



UIView * AnimatedViewForLoading;
// [[UIView alloc] initWithFrame:CGRectMake(118, 318, 200, 150)];
self.AnimatedViewForLoading.frame = CGRectMake(118, 318, 200, 150);
[self.AnimatedViewForLoading setBackgroundColor:[UIColor blueColor]];
self.AnimatedViewForLoading.alpha = 0.0f;
//AnimatedViewForLoading.backgroundColor = UIColor.lightGrayColor;

self.AnimatedViewForLoading.transform = CGAffineTransformMakeScale(0.01, 0.01);
[self.view addSubview:self.AnimatedViewForLoading];
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{

self.AnimatedViewForLoading.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);

} completion:^(BOOL finished) {

NSLog(@"oopssssss..........");
[UIView animateWithDuration:0.3/2 animations:^{
self.AnimatedViewForLoading.transform = CGAffineTransformIdentity;
}];
}];
}

最佳答案

问题

  • 为什么不显示模糊背景? - 因为你没有将它添加到 self.view

    //[self.view addSubview:blureffectview];
  • 为什么 AnimatedViewForLoading 没有出现? - 因为你在初始化之前将它添加到 self.view 并且 self.AnimatedViewForLoading.alpha 设置为 0.0f

    // self.AnimatedViewForLoading is hidden at this line
    self.AnimatedViewForLoading.alpha = 0.0f;

    // |_AnimatedViewForLoading| is initialized after this line
    [self.view insertSubview:_AnimatedViewForLoading aboveSubview:blureffectview];

解决方案

- (IBAction)ButtonTouched:(id)sender {
// UIView * AnimatedViewForLoading;
// [[UIView alloc] initWithFrame:CGRectMake(118, 318, 200, 150)];
self.AnimatedViewForLoading = [[UIView alloc] initWithFrame:CGRectMake(118, 318, 200, 150)];
[self.AnimatedViewForLoading setBackgroundColor:[UIColor blueColor]];
// self.AnimatedViewForLoading.alpha = 0.0f;
//AnimatedViewForLoading.backgroundColor = UIColor.lightGrayColor;

// if(!UIAccessibilityIsReduceTransparencyEnabled()){
// self.view.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blureffectview = [[UIVisualEffectView alloc]initWithEffect:blurEffect];
blureffectview.frame = self.view.bounds;
blureffectview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:blureffectview];
[self.view insertSubview:_AnimatedViewForLoading aboveSubview:blureffectview];
// }else{
//self.view.backgroundColor = [UIColor blackColor];
// }

self.AnimatedViewForLoading.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{

self.AnimatedViewForLoading.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);

} completion:^(BOOL finished) {

NSLog(@"oopssssss..........");
[UIView animateWithDuration:0.3/2 animations:^{
self.AnimatedViewForLoading.transform = CGAffineTransformIdentity;
}];
}];
}

关于ios - 如何添加模糊背景和弹出 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51241300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com