选项卡栏在转场后消失

Posted

技术标签:

【中文标题】选项卡栏在转场后消失【英文标题】:Tab bar disappears after segue 【发布时间】:2014-12-30 00:53:12 【问题描述】:

更新:

我希望这会有所帮助。 a b c d 是标签栏中的按钮。 viewcontroller1 由 b --> 没有标签栏。 与 viewcontroller2 相同,它是从 viewcontroller1 中分离出来的

Tabbar Controller
     I
     I_____ a
     I
     I_____ b ---- viewcontoller1 
     I                   I
     I_____ c            I__viewcontroller2
     I
     I_____ d

我已经搜索了解决方案,但没有任何方法可以帮助我。

在我的应用程序中,我有一个标签栏控制器作为初始视图。 此标签栏有 4 个视图。 我想从其中一个视图切换到另一个视图。

因此我使用segues。 呈现目标视图后,不再有标签栏。

在故事板中即时使用自适应转场 --> 显示(例如推送)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
    [picker dismissViewControllerAnimated:NO completion:NULL];
    self->takenImage = image;
    double delayInSeconds = 0.5;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void)

        [self performSegueWithIdentifier:@"OrtToBulldDetail" sender:self];

    );


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    if ([segue.identifier isEqualToString:@"OrtToBulldDetail"])
        BuildDetailView *editViewController =
        (BuildDetailView *)segue.destinationViewController;
        [editViewController setMyImage:takenImage];
    
 

我也尝试使用导航控制器,但是目标视图被加载了两次,并且我的状态栏被另一个状态栏覆盖了..

那么我的标签栏去哪里了?怎么找回来?

【问题讨论】:

您是说您正在使用具有 4 个视图的标签栏控制器,但您想在标签栏中的每个视图之间推送/分隔? 【参考方案1】:

如果您不使用导航控制器,则“显示”segue 会以模态方式显示控制器,该控制器会覆盖整个屏幕,包括标签栏。您应该将 b 控制器嵌入到导航控制器中,然后“显示”segue 将推送到 viewcontroller1。

I_____ UINavigationController------b ---- viewcontoller1

【讨论】:

谢谢你。在导航控制器中嵌入 b 后,我是否必须更改代码?因为没有显示视图控制器.. 更新:我有几个问题:视图控制器 b 使用 imagepickercontroller。我必须选择两次图像,才能到达 viewcontroller1(如果我第一次选择图像,没有 segue)。然后视图控制器加载两次..

以上是关于选项卡栏在转场后消失的主要内容,如果未能解决你的问题,请参考以下文章

QTabView 隐藏选项卡内容但不隐藏选项卡栏

iOS 7 - 后退按钮后标签栏消失

如何减小 UI 选项卡栏项图像的大小以使其适合选项卡栏?

iphone:需要在视图控制器中实现导航控制器,该控制器在选项卡栏中选择选项卡后出现

如何从 UIButton 到选项卡栏项?

通知后,从应用程序委托将视图控制器推送到选项卡栏中