码迷,mamicode.com
首页 > 其他好文 > 详细

应用跳转

时间:2015-10-22 14:03:22      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

跳转注意事项

app1跳转到app2启动的时候

app2程序已经启动完成,跳转的时候不会执行vc声明周期中的viewDidLoad和viewWillAppear,所以传值的时候用给控件已经存在可以直接赋值

 

ios生命周期

ViewContoller

 

1、 alloc                                   创建对象,分配空间
2、init (initWithNibName) 初始化对象,初始化数据
3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear               视图已在屏幕上渲染完成

当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1、viewWillDisappear            视图将被从屏幕上移除之前执行
2、viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了
3、dealloc                                 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

 View

- (void)didAddSubview:(UIView *)subview;
- (void)willRemoveSubview:(UIView *)subview;

- (void)willMoveToSuperview:(UIView *)newSuperview;
- (void)didMoveToSuperview;
- (void)willMoveToWindow:(UIWindow *)newWindow;
- (void)didMoveToWindow;

 app

     1、application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次。若用户直接启动,lauchOptions内无数据,若通过其他方式启动应用,lauchOptions包含对应方式的内容。

 

     2、applicationWillResignActive:在应用程序将要由活动状态切换到非活动状态时候,要执行的委托调用,如 按下 home 按钮,返回主屏幕,或全屏之间切换应用程序等。

     3、applicationDidEnterBackground:在应用程序已进入后台程序时,要执行的委托调用。

     4、applicationWillEnterForeground:在应用程序将要进入前台时(被激活),要执行的委托调用,刚好与applicationWillResignActive 方法相对应。

     5、applicationDidBecomeActive:在应用程序已被激活后,要执行的委托调用,刚好与applicationDidEnterBackground 方法相对应。

     6、applicationWillTerminate:在应用程序要完全推出的时候,要执行的委托调用,这个需要要设置UIApplicationExitsOnSuspend的键值。 

 

初次启动:

 

2013-05-24 20:20:31.550 LifeIOS[451:c07] iOS_didFinishLaunchingWithOptions

2013-05-24 20:20:31.551 LifeIOS[451:c07] iOS_applicationDidBecomeActive

按下home键:

 

2013-05-24 20:22:17.349 LifeIOS[451:c07] iOS_applicationWillResignActive

2013-05-24 20:22:17.350 LifeIOS[451:c07] iOS_applicationDidEnterBackground

点击程序图标进入:

 

2013-05-24 20:22:56.913 LifeIOS[451:c07] iOS_applicationWillEnterForeground

2013-05-24 20:22:56.914 LifeIOS[451:c07] iOS_applicationDidBecomeActive

 

程序中没有设置UIApplicationExitsOnSuspend的值,程序不会彻底退出。

 跳转代码片段

app1;

    /*
    //这里的http://部分叫做URL方案(URL scheme),它表示想要载入的应用程序,后面是传入的字符串
    
    //1.网址
    NSURL *url1 = [NSURL URLWithString:@"http://baidu.com"];
    [[UIApplication sharedApplication]openURL:url1];
    
    //2,邮件
    NSURL *url2 = [NSURL URLWithString:@"mailto:steve@apple.com subject= test"];
    [[UIApplication sharedApplication] openURL:url2];
    
    //3.短信
    NSURL *url3= [NSURL URLWithString:  @"sms:555-1234"];
    [[UIApplication sharedApplication]  openURL:url3];
    
    //4.电话
    NSURL *url4=[NSURL URLWithString:@"tel://555-1234"];
    [[UIApplication sharedApplication]openURL:url4];
    
    //5.地图
    NSURL *url5 = [NSURL URLWithString:@"http://maps.google.com/maps?q=pizza"];  [[UIApplication sharedApplication]openURL:url5];
- (IBAction)button:(id)sender {
    
    
    //6,自定义app
    NSURL *url= [NSURL URLWithString:  @"second://abcd"];
    [[UIApplication sharedApplication]  openURL:url];
    
    
}

 

app2

 

-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    //返回YES,支持,返回NO不支持
    //self.viewController.label.text = [[url host] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];


    //self.vc.lableLab = [url host];
    
    //self.vc.lable.text = [[url host] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    self.vc.lable.text = @"sdfsdfa";

    NSLog(@"%@",self.vc.lable.text);

    return YES;
}

 

应用跳转

标签:

原文地址:http://www.cnblogs.com/coderMJL/p/4900522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!