1.视图的生命周期
- (void)loadView{
//这个时候是没有视图的 因为还在寻找..
//控制器 只需要一个属于自己的视图 使用初始化一次 就 OK 了(相当于底层)
NSLog(@"视图控制器 -> 读取视图");
[super loadView];//相当于装了一个底片
}
- (void)viewDidLoad {
NSLog(@"视图控制器读取完毕");
[super viewDidLoad];
//初始化用户界面
[self initUserInterface];
}
//完成生命周期的过程
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"视图将要出现");
//进行网络请求,数据更新
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"视图已经出现");
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"视图将要消失");
}
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"视图已经消失");
}
2.程序的生命周期- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
NSLog(@"应用程序启动”);
- (void)applicationWillEnterForeground:(UIApplication *)application
NSLog(@“应用程序将要进入前台”);
当程序从后台将要重新回到前台时候调用
- (void)applicationDidBecomeActive:(UIApplication *)application
NSLog(@"应用程序将要处于活动状态”);
NSLog(@"②告诉代理启动基本完成程序准备开始运行");
- (void)applicationWillResignActive:(UIApplication *)application
NSLog(@"应用程序将要处于非活动状态"); //command + shift + h
NSLog(@"③当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话");
- (void)applicationDidEnterBackground:(UIApplication *)application
NSLog(@"应用程序进入后台");//command + h
当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
- (void)applicationWillTerminate:(UIApplication *)application
NSLog(@"应用程序将要退出”);
当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值
3.拨打电话的方式:
1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示
NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];
// NSLog(@"str======%@",str);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
2,这种方法,打完电话后还会回到原来的程序,也会弹出提示,推荐这种
NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];
UIWebView * callWebview = [[UIWebView alloc] init];
[callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
[self.view addSubview:callWebview];
[callWebview release];
3,这种方法也会回去到原来的程序里(注意这里的telprompt),也会弹出提示
NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"186xxxx6979"];
// NSLog(@"str======%@",str);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]
2、发短信
(1)iOS中可以使用两种方式发送短信,最简单是使用openURL:
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@ "sms://10010" ]];//发短信(2)MFMessageComposeViewCont
Frameworks中要引入MessageUI.framework
#import
添加协议:<MFMessageComposeViewCont
//内容,收件人列表
- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
MFMessageComposeViewCont
if([MFMessageComposeViewCont
{
controller.body = @"短信内容...";
controller.recipients = @[@"10086",@"10010"];
controller.messageComposeDelegate = self;
[self presentModalViewControll
}
}
// 处理发送完的响应结果
- (void)messageComposeViewContro
{
[self dismissModalViewControll
if (result == MessageComposeResultCanc
NSLog(@"Message cancelled");
else if (result == MessageComposeResultSent
NSLog(@"Message sent");
else
NSLog(@"Message failed");
}