iOS 在视图控制器里面判断 应用程序的前台 后台切换 UIViewController

1.时机  用户点击home 键  应用退到后台 再次点击进入前台  在UIViewController里面 控制器如何获取相关的事件?

2.需求

(1)NSTimer   在应用程序进入后台 10秒至10分钟会停止(10分钟左右一般应用也会被kill)  但是只要在后台这个nstimer 运行 就是邋遢的 所以我想停止它 在应用进入后台的时候

(2)程序支持后台下载,当用户停止在下载管理界面时,然后用户点击home键使程序进入后台运行,等用户返回到程序时,下载管理界面需要显示最新的下载进度。(需要长时间处理 需要开启后台服务,这里 我们只讲UIViewController 里的两个事件)

3.实现

这里使用通知实现

//增加监听
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(appHasGoneInForeground:)
                                      name:UIApplicationWillEnterForegroundNotification
                                           object:nil];
//别忘了删除监听
[[NSNotificationCenter defaultCenter] removeObserver:self];   
UIApplicationDidEnterBackgroundNotification  //进入后台
UIApplicationWillEnterForegroundNotification //回到程序

很方便是不是 ,之前我还傻乎乎的在AppDelegate里面  判断好多条件去刷页面,现在想来,那会我真是个屌丝,哈哈

时间: 2025-01-02 18:43:20

iOS 在视图控制器里面判断 应用程序的前台 后台切换 UIViewController的相关文章

Linux的bg和fg命令 ---让程序在前台后台之间切换

Linux的bg和fg命令 我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务.而不能让程序在前台后台之间切换.而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务. www.2cto.com 假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号): [1]+ Stopped /root/bin/rsync.sh 然后我们可以把程序调

IOS开发—视图控制器左边缘右滑pop出栈

IOS视图控制器左边缘右滑pop出栈 IOS7.0之后,苹果优化了一个小功能,就是对于UINavagationController堆栈里的UIViewController,只要轻轻在视图控制器的左边缘右滑一下,该视图控制器就会pop出栈(前提当然是对于非根视图控制器而言).实现方法很简单,一句话搞定: self.navigationController.interactivePopGestureRecognizer.enabled = YES; 事实上对于一个视图控制器而言,该属性的默认值即为Y

【IOS开发—视图控制器】

一.UIViewController 视图控制器是UIViewController类或者其子类对象,每个视图控制器都负责管理一个视图层次结构.在UIViewController中有一个重要的UIView属性, 这个view就是这个视图层的根视图,当程序将view作为子视图加入窗口时,也会加入UIViewController对象所管理的整个视图层次结构. 视图控制器只有在将某个视图显示在屏幕上时,相应的视图控制器才会创建其视图,这种延迟加载视图的做法能提高内存的使用效率.视图控制器创建视图的方式有

iOS UI03_UIViewController视图控制器

// //  AppDelegate.m //  UI03_UIViewController视图控制器 // //  Created by dllo on 15/7/31. //  Copyright (c) 2015年 zhozhicheng. All rights reserved. // #import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end @

IOS开发--视图控制器和基础视图

一.视图控制器 UIViewController的介绍: UIViewController即视图控制器,它在MVC(Model View Controller)模式中充当控制者的角色,它负责控制视图的显示,以及响应用户在该视图中所有可能的动作.使用视图控制器,我们可以很方便的管理视图及其子视图. UIViewController的生命周期: 运行APP--载入视图loadView--调用viewDidLoad方法--调用viewWillAppear方法--调用viewDidAppear方法--正

iOS视图控制器编程指南 --- 呈现一个视图控制器

有两种方法实现一个视图控制器到屏幕上:把它嵌入到一个容器视图控制器或者是直接呈现它.容器视图控制器提供一个应用程序主要的导航功能,但是present 视图控制器也是一个重要的导航工具.你可以直接使用presentation 在当前视图控制器的最上层显示一个新的视图控制器.典型地,当你想要实现模态界面的时候直接present 视图控制器,但是你也可以基于其它目的使用它们. 对呈现视图控制器的支持内建于类UIViewController中,而且对所有的视图控制器对象都是有效的.你可以在其它任何视图控

UI_03 ?定义视图、视图控制器

?.?定义label-textField视图 自定义LTView类,封装UILabel与UITextField,实现快速创建以下类型的视图 **** 使用UIView子类实现 **** LTView.h #import <UIKit/UIKit.h> @interface LTView : UIView @property (nonatomic, retain)UILabel * label; @property (nonatomic, retain)UITextField * textFie

003-多视图控制器切换

多视图控制器切换 1.容器的概念 • 一个iOS的app很少只由一个ViewController组成,除非这个app极其简单.当app中有多个ViewController时,就需要对这些ViewController进行管理 • 容器的概念:负责展示一个或者多个ViewController,并管理这些 ViewController的生命周期 • ?部分容器本身也是一个ViewController,被容器管理的控制器称为容器的?控制器(childViewController),?容器被称为父控制器(

UITabBarController ---- 标签视图控制器

直接上代码: // // AppDelegate.m // // #import "AppDelegate.h" #import "RootViewController.h" #import "FirstViewController.h" #import "SecnodViewController.h" #import "ThirdViewController.h" @interface AppDelega