iOS -程序启动原理和UIApplication的介绍
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
//点击屏幕会调用该方法
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
UIApplication *app = [UIApplication sharedApplication];
//注册通知
UIUserNotificationSettings *nitice = [UIUserNotificationSettings
settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[app registerUserNotificationSettings:nitice];
//IconBadgeNumber
app.applicationIconBadgeNumber = 20;
}
@end
运行效果:
#pragma mark - 状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
#pragma mark - 是否隐藏状态栏(no)
- (BOOL)prefersStatusBarHidden {
return NO;
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
//获取
UIApplication *app = [UIApplication sharedApplication];
//注册通知
UIUserNotificationSettings *nitice =
[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[app registerUserNotificationSettings:nitice];
//IconBadgeNumber
app.applicationIconBadgeNumber = 20;
app.networkActivityIndicatorVisible = YES;
//设置状态栏
app.statusBarHidden = NO;
app.statusBarStyle = UIStatusBarStyleDefault;
}
打开其他app程序 openURL方法,可以打开其他APP。
AppDelegate的主要作用就是处理(监听)应用程序本身的各种事件。
,而且实现了部分代理方法,从而监控我们的应用程序。
delegate;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 当应用程序启动完毕的时候就会调用(系统自动调用)
NSLog(@"%s",__func__);
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
// 即将失去活动状态的时候调用
NSLog(@"%s",__func__);
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
// 应用程序进入后台的时候调用
NSLog(@"%s",__func__);
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
/ / 应用程序即将进入前台的时候调用
NSLog(@"%s",__func__);
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// 重新激活(能够和用户交互)
NSLog(@"%s",__func__);
}
- (void)applicationWillTerminate:(UIApplication *)application {
// 应用程序即将被销毁的时候会调用该方法
NSLog(@"%s",__func__);
}
应用程序一般有五个状态:官方文档app.states
#include<stdio.h>
int main(int argc,char* argv[])
{
printf("hello, world\n");
return 0;
}
#include <QtGui>
int main(int argc,char *argv[]) {
QApplication app(argc,argv);
QLabel label(QString("hellow qt"));
label.show();
app.exec();
}
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
principalClassName,
NSString
*
__nullable
delegateClassName);
- argc:argc是命令行总的参数个数
- argv:argv[]是argh个参数,记录用户输入的参数;
- principalClassName:指定应用程序类名(app的象征),该类必须是UIApplication(或子类),如果为nil,则用UIApplication类作为默认值
- delegateClassName:指定应用程序的代理类,UIApplicationDelegate协议中定义的方法,在该类中实现;
即:return UIApplicationMain(argc,
argv, @"UIApplication",@"AppDelegate");
#import "AppDelegate.h"
#import "ViewController.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
ViewController *vc = [[ViewController alloc] init];
self.window.rootViewController = vc;
vc.view.backgroundColor = [UIColor redColor];
[self.window makeKeyAndVisible];
return YES;
}
iOS -程序启动原理和UIApplication的介绍的更多相关文章
- iOS开发UI篇—程序启动原理和UIApplication
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- 程序启动原理和UIApplication
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- 【转】iOS开发UI篇—程序启动原理和UIApplication
原文 http://www.cnblogs.com/wendingding/p/3766347.html 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程 ...
- [转载自 文顶顶]iOS开发UI篇—程序启动原理和UIApplication
一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplica ...
- 1、程序启动原理和UIApplication【转】
一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplica ...
- iOS开发UI篇—程序启动原理和UIApplication1
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- iOS-程序启动原理和UIApplication
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- iOS-程序启动原理和UIApplication(转载)
一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplica ...
- IOS程序启动原理
1.Info.plist 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 常见属性(红色 ...
随机推荐
- hadoop与spark的处理技巧(一)Top N处理技巧
1.MR的topN处理方案,假设所有输入Key都唯一 2.MR的topN处理方案,假设输入Key不唯一 3.spark的topN处理方案,假设所有输入Key都唯一,不使用top()和takeOrder ...
- 推荐一款Python神器,5 行 Python 代码 实现一键批量扣图
今天给大家分享一款Python装逼实用神器. 在日常生活或者工作中,经常会遇到想将某张照片中的人物抠出来,然后拼接到其他图片上去.专业点的人可以使用 PhotoShop 的"魔棒" ...
- 系列13 docker asp.net core部署
一.介绍 本篇完整介绍asp.net core web api如何部署到docker容器中,并通过外部访问web api服务.在编写完成dockerfile之后,可以通过docker [image ...
- 虚拟机安装 Linux 最完整攻略
工作中如果你是Linux运维,或者程序员,一定经常需要一个Linux的环境来让你折腾.这个时候使用虚拟机对我们来说是一个不错的选择. 虚拟化技术目前主要有两种:一.原生架构,这种虚拟机产品直接安装在计 ...
- linux_centos7_时间更新
EDT:美国时间 CST:中国北京时间 方法一.使用ntpdate从时间服务器更新时间: 1.下载ntpdate组件 yum install -y ntp 2.完成后直接测试 [ ...
- 关于Slow HTTP Denial of Service Attack slowhttptest的几种慢攻击DOS原理
关于Slow HTTP Denial of Service Attack slowhttptest的几种慢攻击DOS原理 http://www.myhack58.com/Article/60/sor ...
- 29-3 union的使用
联合结果集union (集合运算符) -------------------------使用union联合结果集---------------- select tsname,tsgender,tsag ...
- LinkedList为什么增删快、查询慢
List家族中共两个常用的对象ArrayList和LinkedList,具有以下基本特征. ArrayList:长于随机访问元素,中间插入和移除元素比较慢,在插入时,必须创建空间并将它的所有引用向前移 ...
- Python的元类简单介绍
* 类型 和类 在Python中,一切都是对象.类也是对象.所以一个类必须有一个类型 注意: 1.type Python3中所有的类都是通过type来创建出来的 2.object:Python3中所有 ...
- 2.Redis安装和简单使用
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...