在标签栏控件中加载视图控制器

Posted

技术标签:

【中文标题】在标签栏控件中加载视图控制器【英文标题】:load viewcontroller within a tabbar control 【发布时间】:2014-10-10 22:16:55 【问题描述】:

在我的一个标签栏视图控制器的 viewdidload 上,我想显示或弹出另一个视图控制器。这是我的代码

 if (_history.count == 0) 

    //[self performSegueWithIdentifier:@"emptyHistorySegue" sender:self];
    UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    MSAEmptyHistoryViewController *popupController = [sb instantiateViewControllerWithIdentifier:@"EmptyHistoryViewController"];
    [self presentViewController:popupController animated:NO completion:nil];

在 tabview 控制器的顶部加载 viewcontroller。我需要显示此视图,但仍允许用户查看标签栏按钮。

【问题讨论】:

【参考方案1】:

如果您尝试转换到viewDidLoad 中的另一个视图控制器,您将遇到问题。您应该切换标签栏控制器的子视图控制器,或者您可以在其中一个子视图控制器中显示子视图。

【讨论】:

我现在试一试【参考方案2】:

当调用-viewDidLoad 时,视图控制器一般是不呈现的。因此,如果您尝试呈现另一个控制器,它将崩溃。

试试 -viewDidAppear: 如果你想要你所描述的。

【讨论】:

尝试了这个,结果与视图控制器加载到所有内容之上的结果相同

以上是关于在标签栏控件中加载视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

在标签栏控制器中设置视图控制器

在导航视图控制器中加载特定视图

url 未在 UIWebView 中加载

标签栏、导航栏和段控制的设计问题

当标签栏项目选择视图控制器集时调用 viewWillDisappear

发送了无法识别的选择器