2012-07-26 134 views
1

在我的iphone应用程序中,我有两个场景,它们都是视图控制器。 通常情况下,初始场景设置为第一个场景。用户播放时传递给第二个。iphone改变初始场景

此时用户关闭应用程序并重新启动应用程序,如果用户已经播放,应该从第二个场景开始,因此应该为该用户更改初始场景。

我该怎么做?

而我不使用导航控制器。

+3

请张贴一些代码为你的申请。这个问题的答案在很大程度上取决于你的应用程序的结构。 – charliehorse55 2012-07-26 14:31:43

+0

你可以这样想,因为我没有任何代码,只有两个场景,初始设置为第一个场景。但我想改变它与第二个代码.. – Ataman 2012-07-26 14:41:52

回答

4

如果您使用的是xib,您可以在应用程序代理 applicationDidFinishLaunchingWithOptions中进行设置。

创建一个全局BOOL并检查它的应用程序上推出价值,如:

.H

@class ViewController; 
@class SecondViewController; 
@interface AppDelegate : UIResponder <UIApplicationDelegate> 
@property (strong, nonatomic) UIWindow *window; 
@property (strong, nonatomic) ViewController *viewController; 
@property (strong, nonatomic) SecondViewController *SecondViewController; 

.M

#import "ViewController.h" 
#import "SecondViewController.h" 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    if (isSecondViewControllerBool == YES) { 
     self.SecondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
    }else{ 
     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    } 
    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

对于故事板:

在第一视图控制器viewDidLoad

- (void)viewDidLoad 
{ 
    if (isSecondViewControllerBool == YES) { 
     UIViewController *secondVC = [self.storyboard instantiateViewControllerWithIdentifier:@"mySecondViewController"]; 
     [self presentViewController:secondVC animated:NO completion:nil]; 

    }else{ 
     //present normally 
    } 
} 

如果您使用的故事板,并已决定用我的厦门国际银行的解决方案,从项目中删除故事板,在这里将其删除,以及:

enter image description here

+0

感谢您的信息,我使用故事板,但我不想改变最初的场景,我希望它在某些情况下自动更改代码.. – Ataman 2012-07-26 14:40:47

+0

@ user446141请参阅我的编辑。 – 2012-07-26 14:44:49

+0

谢谢!我应该修改这一行中的任何东西self.viewController = [[ViewController alloc] ...因为它说未知的接收器viewController? – Ataman 2012-07-26 14:51:44