我在xcode 4.3.2工作
我实现了Local Notifications,它在一个预定的时间提醒用户一个新事件。因此,当我的应用程序在后台,时钟敲响8点(例如),用户将从我的应用程序收到通知。
当用户决定从后台查看应用程序时,我会加载一个nib。目前,这个nib工作正常:它显示视图,就像它在nib中排列的那样。但是,在nib显示给用户之后,我想将用户转发到LocalNotificationsHandler.m中的另一个视图。当我尝试推送第二个视图时,我的应用程序失败。因此,虽然没有错误消息,但第二个nib似乎不会加载。
简而言之,流程如下:
用户在后台运行我的应用时收到通知
用户选择查看应用程序
LocalNotificationsHandler nib将加载
self.navigationController == nil(在localnotificationshandler.m中)
Self.WaveAccess控制器不会“[推送控制器:”新视图“动画:是”)以获得新视图
我想知道我的appdelegate.m文件中是否遗漏了一些内容
“DidFinishLaunchingWithOptions”来自我的appDelegate.m文件:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    // Add the navigation controller's view to the window and display.


    NSLog(@"did finish launching with options");
    [self.window addSubview:tabBarController.view];
    [self.window makeKeyAndVisible];

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

  if (self.locationManager == nil)
  {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.purpose = @"We will try to use you location";
  }

  if([CLLocationManager locationServicesEnabled])
  {
    [self.locationManager startUpdatingLocation];
  }

  self.navigationController.navigationBar.tintColor = nil;

  return YES;
}

最佳答案

您正在使用过时的(自ios 3以来)方法将viewcontroller的视图添加到主ui窗口。应该是这样的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // create properly sized window
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // create instance of root VC and assign to window
    MainViewController *vc = [[MainViewController alloc] init];
    self.window.rootViewController = vc;
    [vc release];

    [self.window makeKeyAndVisible];

    return YES;
}

仅当视图控制器的NavigationController属性实际上是由uinavigationcontroller提供时,才会设置该属性。
有关详细信息,请参阅本文:http://www.cocoanetics.com/2012/11/revisited/

10-08 09:37
查看更多