UICollectionView 顶部栏没有出现在模拟器中

Posted

技术标签:

【中文标题】UICollectionView 顶部栏没有出现在模拟器中【英文标题】:UICollectionView Top Bar Doesn't Appear In Simulator 【发布时间】:2015-11-19 19:00:44 【问题描述】:

我遇到了一个小问题,我的 uicollectionviewcontroller 顶部栏没有出现在模拟器和设备中。我已经将顶部栏设置为 uicollectionviewcontroller 的半透明导航栏,然后将导航项拖动到导航栏,最后我将左栏按钮项的图像设置为后退按钮。下面是截图。

顶栏故事板:

模拟器结果:

【问题讨论】:

仅供参考,它被称为UINavigationBar 【参考方案1】:

您似乎没有导航控制器,要以编程方式添加导航栏而无需导航控制器控制视图层次结构,您可以执行以下操作。

-(void) viewWillAppear:(BOOL)animated 

    UINavigationBar *navBar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
    [UINavigationBar appearance].barTintColor = [UIColor lightGrayColor];
    [self.view addSubview: navBar];


    UIBarButtonItem *cancelItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:nil];

    UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                             style:UIBarButtonItemStyleBordered
                                                            target:self action:nil];


    UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"Navigation Title"];

    navItem.rightBarButtonItem = doneItem;
    navItem.leftBarButtonItem = cancelItem;
    navBar.items = [NSArray arrayWithObjects: navItem,nil];

    [UIBarButtonItem appearance].tintColor = [UIColor blueColor];


【讨论】:

非常感谢@Nicholas Langley,这就是我正在寻找的东西,现在它正在按我的意愿工作。 :)【参考方案2】:

要添加导航控制器(将添加栏),请在情节提要中突出显示 UICollectionViewController,然后从菜单中选择 Editor->Embed in->Navigation Controller

【讨论】:

以上是关于UICollectionView 顶部栏没有出现在模拟器中的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11 UICollectionView顶部出现白色间隔的问题

带有标题问题的 UICollectionView 更改 y 位置

如何在 UICollectionView 顶部添加一个视图以支持诸如搜索栏或 Objective-c 中的过滤器之类的内容?

Swift 中的 UiSearchBar 到 UiCollectionView

UICollectionView 设置框架

顶部导航栏不出现