如何双击home键,使app自带毛玻璃效果,增强其安全性

来源:互联网 发布:时间闹钟提醒软件 编辑:程序博客网 时间:2024/05/22 04:53

一、ios应用程序的启动逻辑

1、main.m文件中的main是ios程序启动的入口,main函数内部会调用UIApplicationMain函数,创建UIApplication对象和一个main runloop循环,当main runloop接收到事件后,会传递给AppDelegate对象去处理。

#import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) {    @autoreleasepool {        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));    }}

2、UIApplication是一个单例对象,它在应用程序中只存在一份,也是ios应用程序启动后创建的第一个对象。

二、AppDelegate中各方法的作用

应用程序启动完毕就会调用该方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    return YES;}

应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电

- (void)applicationWillResignActive:(UIApplication *)application {}

应用程序已经进入后台运行

- (void)applicationDidEnterBackground:(UIApplication *)application {}

应用程序将要进入活动状态

- (void)applicationWillEnterForeground:(UIApplication *)application {}

应用程序进入前台,处于活动状态

- (void)applicationDidBecomeActive:(UIApplication *)application {}

应用程序将要退出,通常用于保存书架和一些推出前的清理工作

- (void)applicationWillTerminate:(UIApplication *)application {}

系统内存不足,需要进行清理工作

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {}

三、实现毛玻璃效果

@interface AppDelegate ()@property (nonatomic, strong, nullable) UIVisualEffectView *visualEffectView;@end
- (void)applicationDidEnterBackground:(UIApplication *)application {    UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];    self.visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];    self.visualEffectView.alpha = 1;    self.visualEffectView.frame = self.window.frame;    [self.window addSubview:self.visualEffectView];//    [UIView animateWithDuration:0.5 animations:^{//        self.visualEffectView.alpha = 1;//    }];}
- (void)applicationDidBecomeActive:(UIApplication *)application {    [UIView animateWithDuration:0.5 animations:^{        self.visualEffectView.alpha = 0;    } completion:^(BOOL finished) {        [self.visualEffectView removeFromSuperview];    }];  }

其它方式,参考博客:https://dishibolei.github.io/2017/08/17/safe-backgroud-blurry/

原创粉丝点击