如何在选项卡之间切换并直接显示推送的视图控制器?

Posted

技术标签:

【中文标题】如何在选项卡之间切换并直接显示推送的视图控制器?【英文标题】:How to switch between tabs and directly show pushed view controller? 【发布时间】:2016-05-31 09:31:28 【问题描述】:

这是我的代码:

  VideoDetailViewController *VideoDetailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"VideoDetailViewController"];

  UINavigationController * navigationController = (UINavigationController *) [[self tabBarController] selectedViewController];

  [self.tabBarController setSelectedIndex:0];

  [navigationController pushViewController:VideoDetailVC animated:YES];

我正在标签栏的第二个索引中编写此代码。我想直接进入视频详细信息屏幕,这是标签栏零索引的子视图控制器。一切正常,但我看到的是:它显示了一个父视图控制器,它是标签栏的零索引。一秒钟后,它会推送到视频详细信息屏幕。我只是不想显示零索引。解决办法是什么?帮助将不胜感激。

编辑:

#import "TWPhotoCollectionViewCell.h"

@implementation TWPhotoCollectionViewCell

- (instancetype)initWithFrame:(CGRect)frame 
    if (self = [super initWithFrame:frame]) 
        self.imageView = [[UIImageView alloc] initWithFrame:self.bounds];
        self.imageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
        self.imageView.layer.borderColor = [UIColor blueColor].CGColor;
        [self.contentView addSubview:self.imageView];
    
    return self;


- (void)setSelected:(BOOL)selected 
    [super setSelected:selected];

    self.imageView.layer.borderWidth = selected ? 2 : 0;


@end

【问题讨论】:

【参考方案1】:

替换下一行

  [navigationController pushViewController:VideoDetailVC animated:YES];

  [navigationController pushViewController:VideoDetailVC animated:NO];

它可能会解决您的问题。

【讨论】:

非常感谢伙计:) 还有一个问题。我不想创建另一个线程。如果单元是第一次创建的,如何在自定义单元类中确定?我的意思是如果单元格索引为零,自定义类如何知道这一点?我使用 UICollectionView 在 cideopickerview 类中选择视频。默认情况下,我想将所选视频设置为零索引。你能提供什么帮助? 我试图取一个变量来检查,但我不知道在哪里初始化它的值。 没有收到您的问题 我正在使用自定义单元格类,在这里我想知道单元格是否是第一次创建的。即零索引的单元格。我想在自定义类中使用这个条件。查看我编辑的问题。我已将自定义单元格代码放在那里。

以上是关于如何在选项卡之间切换并直接显示推送的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

在切换到 UITabbarController 中的不同选项卡之前关闭当前选项卡上的推送视图控制器

如何从导航控制器切换到选项卡控制器并使其成为根视图控制器

如何同时切换 tab 和 pushViewController?

如何在选项卡栏控制器中更新选项卡上的视图

如何在我的 Xcode Swift 项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?

隐藏 uitoolbar 在视图和标签栏之间留下空隙