【UIKit Basics】AppDelegate详解

【UIKit】AppDelegate:

在应用程序启动完毕后调用(只会调用一次,第一次打开程序的时候才会调用)
// 视图加载完成,应用程序加载到内存后调用的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 创建一个UIWindow
    CGRect rect = [[UIScreen mainScreen] bounds];
    self.window = [[UIWindow alloc] initWithFrame:rect];

    // 设置背景颜色
    self.window.backgroundColor = [UIColor redColor];

    // 初始化第一个控制器
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    // 设置窗口的根控制器
    self.window.rootViewController = self.viewController;

    // 等窗口UIWindow显示的时候,就会把rootViewControoler的view添加到UIWindow上面去
    // 让窗口成为主窗口并且可见
    [self.window makeKeyAndVisible];
    return YES;
}
当app失去焦点的时候调用(未激活):当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
- (void)applicationWillResignActive:(UIApplication *)application
在app进入后台的时候调用:当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
- (void)applicationDidEnterBackground:(UIApplication *)application
在app进入前台的时候调用:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
- (void)applicationWillEnterForeground:(UIApplication *)application
当app获得焦点的时候调用(已激活):当应用程序入活动状态执行
- (void)applicationDidBecomeActive:(UIApplication *)application
当程序将要退出时被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。
-  (void)applicationWillTerminate:(UIApplication *)application
说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止
-  (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
说明:当系统时间发生改变时执行
- (void)applicationSignificantTimeChange:(UIApplication*)application
说明:当程序载入后执行
- (void)applicationDidFinishLaunching:(UIApplication*)application
说明:当StatusBar框将要变化时执行
- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame
说明:当StatusBar框方向将要变化时执行
- (void)application:(UIApplication*)application willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
duration:(NSTimeInterval)duration
说明:当通过url执行
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
说明:当StatusBar框方向变化完成后执行
- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
说明:当StatusBar框变化完成后执行
- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame


转:
1、判断设备的类型iPad或者iPhone,可在main中定义一个宏来记录
#define IS_IPAD  ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] &&[[UIDevice currentDevice] userInterfaceIdion] == UIUserInterfaceIdiomPad)
2. 调用自带应用
     调用Email
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://email邮箱地址"]]; 
 调用系统电话phone
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://88888888"]];
 调用SMS
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://888588"]];
 调用自带浏览器Safari
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://网址"]];
    还有:itms:// 可以打开MobileStore.app
            audio-player-event:// 可以打开iPod
            audio-player-event://?uicmd=show-purchased-playlist 可以打开iPod播放列表
            video-player-event:// 可以打开iPod中的视频
3. 禁止锁屏
    UIApplication *app = [UIApplication sharedApplication];
    app.idleTimerDisabled = YES;
4. 设置icon上的数字
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

【UIKit Basics】AppDelegate详解

时间: 2024-08-03 08:20:35

【UIKit Basics】AppDelegate详解的相关文章

【UIKit】AppDelegate详解以及部分UIApplication 的调用

[UIKit]AppDelegate 在应用程序启动完毕后调用(只会调用一次,第一次打开程序的时候才会调用) - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建一个UIWindow CGRect rect = [[UIScreen mainScreen] bounds]; self.window = [[UIWind

AppDelegate详解

AppDelegate详解 1.AppDelegate.h //模板默认引入程序需要使用“类”的框架,即UIKit.h头文件,使它包含在程序中 #import //此处@class声明程序中的“类”名称为MyViewController @class MyViewController; //此处@interface声明程序界面的名称为MyAppDelegate,其中NSObject表示它的“类”符合UIApplicationDelegate协议,接着UIApplicationDelegate,此

项目中AppDelegate详解

1.AppDelegate.h //模板默认引入程序需要使用“类”的框架,即UIKit.h头文件,使它包含在程序中 #import <UIKit/UIKit.h> //此处@class声明程序中的“类”名称为MyViewController @class MyViewController; //此处@interface声明程序界面的名称为MyAppDelegate,其中NSObject表示它的“类”符合UIApplicationDelegate协议,接着UIApplicationDelegat

IOS应用程序生命周期的AppDelegate详解

IOS 中的 AppDelegate.m/h 文件是很重要的呢,因为它是对 Application 的整个生命周期进行管理的. 先明白,每个iPhone应用程序都有一个UIApplication,UIApplication是iPhone应用程序的开始并且负责初始化并显 示 UIWindow,并负责加载应用程序的第一个UIView到UIWindow窗体中.UIApplication的另一个任务是帮助管理应用程序的 生命 周期,而UIApplication通过一个名字为UIApplicationDe

CoreData详解与使用

iOS教程:Core Data数据持久性存储详解 就像我一直说的,Core Data是iOS编程,乃至Mac编程中使用持久性数据存储的最佳方式,本质上来说,Core Data使用的就是SQLite,但是通过一系列特性避免了使用SQL的一些列的麻烦,不仅如此,他还能够合理管理内存,反正好处很多,我们推荐使用,下面我们先对比它与其他数据持久化方式的优缺点. 1,它允许按照实体-属性-值模型组织数据,并以XML,二进制文件或SQLite数据文件的格式将其序列化,简单的说就是封装了我们将对象储存的系列化

ios开发——实用技术OC-Swift篇&amp;本地通知与远程通知详解

本地通知与远程通知详解 一:本地通知 Local Notification的作用 Local Notification(本地通知) :是根据本机状态做出的通知行为,因此,凡是仅需依赖本机状态即可判断需要发出通知的行为都可以或者说应该使用Local Notification来处理.比方说:iBeacon中进入了某个Beacon region,或者说自定义的一些定时提醒等. 构建Local Notification 在iOS中,构建LocalNotification非常简单,只需要掌握好NSLoca

[转]iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

转载地址:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控制器的流程.最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕:当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕.相应地,在

iOS 的UINavigationController详解与使用添加UIBarButtonItem

转发自:http://blog.csdn.net/totogo2010/article/details/7681879 分类: iOS开发入门2012-06-21 11:10 53077人阅读 评论(29) 收藏 举报 uinavigationcontrolleriosapplicationactioninterfacebutton 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看

详解OS X和iOS图像处理框架Core Image

转自:http://www.csdn.net/article/2015-02-13/2823961-core-image 摘要:本 文结合实例详解了OS X和iOS图像处理框架Core Image的使用,如何通过Core Image来创建和使用iOS的内置滤镜,非常适合初学者学习.虽然示例代码是用Swift写的iOS程序,不过实现概念很容易转换到 Objective-C和OS X. 这篇文章会为初学者介绍一下Core Image,一个OS X和iOS的图像处理框架. 如果你想跟着本文中的代码学习