AppDelegate详解+viewController中监听Home键触发以及重新进入界面的方法
来源:互联网 发布:淘宝不能申请退款 编辑:程序博客网 时间:2024/06/05 01:02
AppDelegate详解
1.AppDelegate.h
//模板默认引入程序需要使用“类”的框架,即UIKit.h头文件,使它包含在程序中
#import <UIKit/UIKit.h>
//此处@class声明程序中的“类”名称为MyViewController
@class MyViewController;
//此处@interface声明程序界面的名称为MyAppDelegate,其中NSObject表示它的“类”符合UIApplicationDelegate协议,接着UIApplicationDelegate,此方法为应用程序提供了关于触发的关键事件信息,例如什么时候程序运行完成,什么时候内存不足,什么时候重要变化发生
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
//定义一个程序显示窗口的对象
UIWindow *window;
//加入视图控制实际变量的对象
MyViewController *viewController;
}
//此处@Property声明程序的属性,并且加入在前面@interface中指定的相同对象, 其中nonatomic是使用单线程机制减少系统资源使用,并将更改方法和修改方法生成在
//Property(属性),
//接着retain,Property的可选项,表明向Property
(属性)的对象发送一个retain(保留消息),
//而IBOutlet表示对象在Interface Builder(Storyboard)中创建。
//例如下面的代码在应用程序中显示了一个窗口控件,
把这个控件连接到nib文件并显示在Interface Builder (Storyboard)
@property (nonatomic, retain) IBOutlet UIWindow *window;
//又例如,代码在应用程序中显示了一个视图控制控件,
把这个控件连接到nib文件并显示在 Interface Builder (Storyboard)
@property (nonatomic, retain) IBOutlet MyViewController *viewController;
//程序结束点,表明结束MyViewController.h文件
@end
2.AppDelegate.m
协议中定义的这些需要实现的方法的作用:
1、- (void)applicationWillResignActive:(UIApplication *)application
说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
2、- (void)applicationDidBecomeActive:(UIApplication *)application
说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反
3、- (void)applicationDidEnterBackground:(UIApplication *)application
说明:当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
4、- (void)applicationWillEnterForeground:(UIApplication *)application
说明:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
5、- (void)applicationWillTerminate:(UIApplication *)application
说明:当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。
6、- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止
7、- (void)applicationSignificantTimeChange:(UIApplication*)application
说明:当系统时间发生改变时执行
8、- (void)applicationDidFinishLaunching:(UIApplication*)application
说明:当程序载入后执行
9、- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame
说明:当StatusBar框将要变化时执行
10、- (void)application:(UIApplication*)application willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
duration:(NSTimeInterval)duration
说明:当StatusBar框方向将要变化时执行
11、- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
说明:当通过url执行
12、- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
说明:当StatusBar框方向变化完成后执行
13、- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame
说明:当StatusBar框变化完成后执行
viewController中监听Home键触发以及重新进入界面的方法
第一步:
创建2个NSNotificationCenter监听[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:)name:UIApplicationWillResignActiveNotification object:nil]; //监听是否触发home键挂起程序. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive:)name:UIApplicationDidBecomeActiveNotification object:nil]; //监听是否重新进入程序程序.
第二步:
实现2个NSNotificationCenter所触发的事件方法
- (void)applicationWillResignActive:(NSNotification *)notification{ printf("按理说是触发home按下\n");}- (void)applicationDidBecomeActive:(NSNotification *)notification{ printf("按理说是重新进来后响应\n");}
注: 在home键触发后,AppDelegate响应的方法为:
- (void)applicationDidEnterBackground:(UIApplication *)application{ /* Use this method to release shared resources, save user data, invalidate timers,
and store enough application state information to restore your application to its current state in case it is terminated later. If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. */}
- AppDelegate详解+viewController中监听Home键触发以及重新进入界面的方法
- iOS 在viewController中监听Home键触发以及重新进入界面的方法
- iOS 在viewController中监听Home键触发以及重新进入界面的方法
- iOS在控制器中监听是否点击Home键以及重新进入界面的方法
- 在Appdelegate中获取当前的ViewController
- ios 按home键进入后台的触发处理
- android app从登录界面进入主页,按home键回桌面再进入app,重新弹出登录界面的问题解决
- Android中监听Home键的4种方法总结
- Android中监听Home键的4种方法总结
- Android中监听Home键的4种方法总结
- appdelegate中事件的触发调用
- android Home 之后重新进入 保持应用操作界面
- iOS APPDelegate中方法详解
- Android App首次安装完成后在安装界面直接打开应用,再按home键返回桌面,从桌面图标重新进入app,返回不到之前的界面问题
- 如何在ViewController里调用appdelegate里的方法
- android监听home键的方法
- Android监听home键的方法
- Slidingmenu+Fragment中,按下home键返回桌面,再重新进入程序时报错问题的解决方法
- 自由软件之父:“苹果公司罪大恶极”
- Twitter将向科学家开放全部数据
- 多线程命名管道通信的设计
- POSIX条件变量
- struts学习
- AppDelegate详解+viewController中监听Home键触发以及重新进入界面的方法
- DreamWeaver CS5视频教程(建站必备)
- SCI论文写作的模式及套路
- XML学习笔记
- NOJ [1373] Endless Tree
- ActivityGroup(解决Tabhost中界面用intent二次跳转后界面是新界面而不显示导航的问题)
- 百度对wordpress博客非常不友好的原因
- Tomcat6.0 7.0 限制IP段访问,限制多个IP段的访问
- 字符串问题考虑string