1.基本概念
//[UIScreen mainScreen] 获取当前设备的屏幕
//[[UIScreen mainScreen] bounds] 获取屏幕的边框大小
//main 仍然是程序入口
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([LZXAppDelegate class]));
}
//UIApplicationMain内部是一个死循环 会创建一个UIApplication 的单例对象,这个单例对象负责接收事件,但是不知如何处理 ,他就委托 代理(AppDelegate) 去完成,UIApplication制定协议来约束 代理的行为
}
//如果我们把view粘贴到window 上 就是相对于window的坐标系
//iOS7之前 状态栏默认是黑色 320*20大小
//iOS7之后 状态栏默认透明 320 *20 如果我们要避开状态栏 那么视图的y坐标要从20开始
//设置行数 0表示无限行 没有限制
label.numberOfLines = 0;
//设置换行模式或者省略模式
/*
NSLineBreakByCharWrapping以字符进行折断换行iOS7.0之前是由效果的7.1之后没有效果
NSLineBreakByWordWrapping以单词作为截断换行
//上面两种如果最后一个显示不完 那么直接截断不会显示
//下面三种如果最后一行显示不完label的内容都有省略号
NSLineBreakByTruncatingTail //如果显示不完尾部显示省略号
NSLineBreakByTruncatingHead 头部
NSLineBreakByTruncatingMiddle 中间
*/
label.lineBreakMode = NSLineBreakByTruncatingMiddle;
2.方法
/*
应用程序将要由活跃状态进到非活跃状态
//将要进入后台的时候调用
//可以做一些数据保存
//点击home 键 打电话 锁屏程序一般都会进入后台
*/
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"applicationWillResignActive:将要进入后台");
}
//已经进入后台调用
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"已经进入后台");
}
//将要从后台进入前台调用
/*
可以恢复保存的数据
*/
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"applicationWillEnterForeground将要进入前台");
}
//已经进入前台调用
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"applicationDidBecomeActive:已经进入前台");
}
/*
如果要想让程序进入后台停止/结束程序 那么需要修改plist文件
在FirstIOSApp-Info.plist文件中添加一个配置Application does not run in background YES 进入后台时结束程序
NO不结束程序
*/
//如果配置了程序结束的配置信息 那么 当程序进入后台就会调用这个函数 主要用于结束程序时保存用户信息
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"程序停止");
}
//向根试图UIWindow上添加view
UIWindow *window=[[UIApplicationsharedApplication]keyWindow];
window.rootViewController=nav;
[[UIApplicationsharedApplication].keyWindow addSubview:view];
[self.view.windowaddSubview:_shareBGViewBottom];
[self.view.windowbringSubviewToFront:_shareBGViewBottom];
//打电话
NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"telprompt:%@",phoneNumber]];
//方法一
//[[UIApplication sharedApplication] openURL:phoneURL]; //拨号
//方法二
static UIWebView* phoneCallWebView ;
if (!phoneCallWebView ) {
phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];// 这个webView只是一个后台的容易 不需要add到页面上来 效果跟方法二一样 但是这个方法是合法的
}
[phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];