好吧,我需要帮助。 我显然错过了非常明显的东西。

我读了将近30条关于这个确切错误的文章,但是这个应用程序仍然困扰着我。 我几乎复制了Anypic应用程序(Parse.com)的导航流程,因为它与我想在我的应用程序中做的非常相似。 首先,Anypic认为他们可以将tabBar控制器推到视图控制器上,据我所知这是行不通的,因此在我的实现中,我将其模态呈现。

我正在使用情节提要! 并获得对每个视图控制器的引用,如下所示:

self.storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
CustomViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"VC"];

这是错误:尝试在视图不在窗口层次结构中的NFWelcomeViewController上呈现UITabBarController!

请帮忙!

NFWelcomeViewController


-(void)viewDidLoad {

    [super viewDidLoad];

    // If not logged in, present login view controller
    if (![PFUser currentUser]) {
       [self performSegueWithIdentifier:@"showLogin" sender:self];
    }

    else {

        // Present Notified UI
        // [(AppDelegate*)[[UIApplication sharedApplication] delegate] presentTabBarController];
        [self performSegueWithIdentifier:@"tabBar" sender:self];

        // Refresh current user with server side data -- checks if user is still valid and so on
        [[PFUser currentUser] refreshInBackgroundWithTarget:self selector:@selector(refreshCurrentUserCallbackWithResult:error:)];
    }

}

AppDelegate(我现在已经对此进行了注释,理想情况下,我想像Anypic一样实现它)

- (void)presentLoginViewControllerAnimated:(BOOL)animated {
    NSLog(@"present login");

    NFLoginViewController *loginViewController = [[NFLoginViewController alloc] init];
    [loginViewController setDelegate:self];
    loginViewController.fields = PFLogInFieldsFacebook | PFLogInFieldsUsernameAndPassword;
    loginViewController.facebookPermissions = @[ @"basic_info", @"email" ];

    [self.welcomeViewController presentViewController:loginViewController animated:YES completion:NULL];
   // [self.welcomeViewController presentViewController:loginViewController animated:YES completion:nil];
}

- (void)presentLoginViewController {
    [self presentLoginViewControllerAnimated:YES];
}

- (void)presentTabBarController {

    NSLog(@"present tabBar");

    self.tabBarController = [self.storyboard instantiateViewControllerWithIdentifier:@"tabBar"];

    [self.welcomeViewController.navigationController pushViewController:self.tabBarController animated:NO];

    [self.navController setViewControllers:@[ self.welcomeViewController, self.tabBarController ] animated:NO];

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge|
     UIRemoteNotificationTypeAlert|
     UIRemoteNotificationTypeSound];
}

  ask by DBoyer translate from so

本文未有回复,本站智能推荐:

2回复

在导航堆栈中重新创建viewController

我有某种情况要解决: 我有一个加载的UIViewController 。 在特定条件下,我选择在导航堆栈的顶部显示一个新的UIViewController 。 之后,我想将以前的UIViewController留在堆栈中,但是我想将其release ,因此,当顶级VC弹出第一个VC时,
1回复

Swift:如何使用导航控制器重新加载表

我是初学者,所以请友好解释,谢谢。 所以基本上每次我点击一个单元格,然后点击回来我怎样才能完全重新加载表格。 我尝试在viewDidAppear和viewWillAppear添加tableView.reloadData() ,它没有工作并尝试添加parseQuery.findObje
1回复

如何使用重叠的透明视图控制器重新创建FaceTime的导航视图控制器过渡动画?

简洁版本: 我想重现FaceTime的导航过渡动画,以将透明视图控制器推入导航堆栈,而顶视图的内容与底视图的内容不重叠。 问题: 在标准UINavigationController ,推送具有透明背景的目标视图控制器将导致难看的动画:源视图控制器将变暗并进行平移,然后弹出来不存
1回复

在删除对象后在Parse上重新创建对象的正确方法是什么?

我在服务器端使用解析。 我有一个表视图,其中包含来自Parse的Contacts对象的列表。 如果用户点击对象,则将其保存为解析,如果再次点击,则将其从解析中删除。 为了节省,我使用方法: 删除使用此: 我将objectId设置为nil,因为我在表视图中使用了此属性,以
1回复

iOS-缺少导航流程

在我的应用程序中,我使用以下代码添加了子视图控制器。 我正在使用以下代码删除子视图控制器。 运行良好。 但是,删除子视图控制器后,我将无法对父视图控制器执行任何操作。 我想我缺少一些导航流程。 请帮我。
2回复

更改Anypic资产

在Parse Anypic教程中更改资产时,它不会显示在实际的模拟器中。 我更改的文件位于Resources文件夹中: Default.png, Default@2x.png, Default-568h@2x.png, Default-667h@2x.png, Default-736h@2x.
1回复

PushView导航,而无需重新初始化UIViewController中的对象

我只需要进行导航而无需重新初始化对象,可以通过popview导航来完成,但是我需要导航到指定的ViewController而不是先前的视图控制器。 我已经发布了另一个问题,对此仍然没有回应
2回复

如何删除并重新添加导航栏上的“后退按钮”

我的视图控制器的导航栏中(在UINavigationController中)显示了一个后退按钮。 当前视图中有一个“编辑”模式。 当进入“编辑”模式时,我将leftBarButtonItem替换为“取消”按钮,当退出“编辑”模式时,我想再次将左按钮更改为“后退按钮”,我该怎么做? 我尝
2回复

以编程方式创建导航控制器时出现黑屏

我是以编程方式创建一个导航控制器,如下所示: 而且,虽然Xcode对此非常满意,但当我使用此代码启动应用程序时,我会看到黑屏。 当我评论它,并且只是在故事板中使用箭头它工作正常但我没有得到导航控制器。 我究竟做错了什么?
3回复

如何创建pinterest样式隐藏/取消隐藏导航/标签栏?

如何创建一个隐藏/取消隐藏的导航栏,如pinterest和许多其他应用程序正在做什么? 我知道基本的想法是使用UIScrollView委托并检测我是否向上或向下滚动并显示基于该导航栏的导航栏。 如果导航栏被隐藏,我还应该调整导航控制器视图高度吗? 这是如何运作的?