UIApplicationDelegate

原文地址:UIApplicationDelegate 作者:淡淡风吹过

UIApplicationDelegate 是最常见的 协议之一

这个协议声明了继承于单例模式下UIApplication对象的委托方法。这些方法提供了有关在应用程序执行时或发生重要变化时 进行响应的机会。比如(在应用程序执行时,完成启动时,内存低时……)

 

Application对象委托方法的主要工作之一就是跟踪应用程序。

 

对于这些响应,程序员需要按照自己的要求部分或者全部实现

 

============================================

 

现在来看看协议里的方法  Task

Monitoring Application State Changes  (监测应用程序状态改变)

- (BOOL) application:(UIApplication *) application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//当应用程序已经启动,并可能有额外的启动选项来处理委托

//强烈建议您使用此方法来初始化你的应用程序,而不是采用 applicationDidFinishLaunching 方法 这句话是苹果文档里的...applicationDidFinishLaunching不是亲生的么... ==!

- (void)applicationDidBecomeActive:(UIApplication *) application
//应用程序转入激活状态
- (void)applicationWillResignActive:(UIApplication *) application
//应用程序转入后台(非激活)状态
- applicationDidEnterBackground:(UIApplication *) application
//应用程序从激活状态转入后台(在 激活与非激活之间?(响应home键))
- applicationWillEnterBackground:(UIApplication *) application
//应用程序从激活状态转入后台(比上一方法先一步....好像没太大差别)
- applicationWillTerminate:
//应用程序终止时
- applicationDidFinishLaunching:
//应用程序启动

Opening a URL Resource  (打开一个URL资源)

- (BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *)url
//请求委托打开一个 URL资源
- (BOOL) application:(UIApplication *) application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotaion
//请求委托打开一个 URL资源


就列举一下了


Managing Status Bar Changes (管理(监听)状态条改变)

-(void) application :(UIApplication *) application willChangeStatusBarOrientation:(UIinterfaceOrientation) newStatusBarOrientation duration:(NSTimeInterval)duration
-(void) application :(UIApplication *) application didChangeStatusBarOrientation:(UIInterfaceOrientation) oldStatusBarOrientation
-(void) application :(UIApplication *) application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame
-(void) application :(UIApplication *) application willChangeStatusBarFrame:(CGRece)newStatusBraFrame

Responding to System Notifications(响应系统通知)

-applicationDidReceiveMemoryWarning:
//当内存低告警时
-applicationSignificantTimeChange:
//当系统时间发生显著改变时

Handling Remote Notifications  (处理远程消息)

-(void) application :(UIApplication *) application didReceiveRemoteNotification:(NSDictonary *) userinfo
//当一个运行着的应用程序收到一个远程的通知 发送到委托去...
-(void) application :(UIApplication *) application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken
//当一个应用程序成功的注册一个推送服务(APS) 发送到委托去...
-(void) application :(UIApplication *) application didFailToRegisterForRemoteNotificationsWithError:(NSError *) error
//当 APS无法成功的完成向 程序进程推送时 发送到委托去...

Handling Local Notification (处理本地消息)

-(void) application :(UIApplication *) application didReceiveLocalNotification:(UILocalNotification *)notification
//当一个运行着的应用程序收到一个本地的通知 发送到委托去...

Responding to Content Protections Changes(响应受保护内容的改变)

-applicationProtectedDataWillBecomeUnavailable:
// 通知委托,受保护的文件当前变为不可用的
-applicationProtectedDataWillBecomeAvailable:
// 通知委托 受保护的文件当前变为可用



UIApplicationDelegate 里面就这些东西了....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 SwiftUI 中,可以使用 `@main` 属性和 `@UIApplicationDelegateAdaptor` 属性来创建和设置应用程序的启动页面。 首先,你需要创建一个遵循 `App` 协议的主应用程序结构体。在这个结构体中,使用 `@UIApplicationDelegateAdaptor` 属性来指定一个自定义的 `AppDelegate` 类。 ```swift @main struct YourAppName: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate var body: some Scene { WindowGroup { ContentView() } } } ``` 然后,创建一个自定义的 `AppDelegate` 类,继承自 `UIResponder` 并实现 `UIApplicationDelegate` 协议。在 `AppDelegate` 类中,你可以设置启动页面的样式和持续时间。 ```swift import SwiftUI class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { // 设置启动页面的样式 application.isStatusBarHidden = true // 设置启动页面的持续时间 Thread.sleep(forTimeInterval: 3.0) return true } } ``` 在上述代码中,我们将应用程序的状态栏隐藏,并设置启动页面的持续时间为 3 秒钟。你可以根据自己的需求进行定制。 最后,在 `WindowGroup` 中设置你想要显示的内容,这里的 `ContentView` 可以是你的应用程序的主视图。 这样就完成了在 SwiftUI 中创建和设置启动页面的过程。记得在 `info.plist` 文件中设置你的应用程序的主入口文件为 `YourAppName`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值