Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode UICollectionViewController显示为空白/黑色_Xcode_Swift - Fatal编程技术网

Xcode UICollectionViewController显示为空白/黑色

Xcode UICollectionViewController显示为空白/黑色,xcode,swift,Xcode,Swift,我试图浏览一些集合视图Swift教程,但它们总是显示为空白/黑色页面,就好像我没有设置初始视图控制器一样。但是,我只输出了1UICollectionViewController,并将自定义类设置为myCollectionViewController。在这个类中,我实现了numberOfSectionsInCollectionView:方法,为了确保它正常工作,我刚刚返回了3。然而,当我构建和运行项目时,所有应该出现的是一个空白/黑屏 有人能帮忙吗?我一直在搜索信息,但运气不好…您必须实现至少3个

我试图浏览一些集合视图Swift教程,但它们总是显示为空白/黑色页面,就好像我没有设置初始视图控制器一样。但是,我只输出了1
UICollectionViewController
,并将自定义类设置为my
CollectionViewController
。在这个类中,我实现了
numberOfSectionsInCollectionView:
方法,为了确保它正常工作,我刚刚返回了3。然而,当我构建和运行项目时,所有应该出现的是一个空白/黑屏


有人能帮忙吗?我一直在搜索信息,但运气不好…

您必须实现至少3个UICollectionViewDataSource方法才能显示任何内容

听起来您只是告诉它您想要多少个分区,但您没有告诉它每个分区中有多少视图,也没有为它提供要显示的视图

试试这个:

    func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
        return 2
    }

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 3
    }

    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

        let cell = UICollectionViewCell()
        cell.backgroundColor = UIColor.redColor()
        return cell
    }

步骤1:在情节提要中单击视图控制器

第2步:转到属性检查器(xcode中的右侧),然后将背景颜色从默认更改为白色

它将显示白色

不要忘记将
委托
数据源
连接到您的
viewcontroller

简单的方法是右键单击
UICollectionView
,然后拖动到
ViewController
顶部的黄色圆圈。 重复此步骤两次,一次选择
dataSource
,一次选择
delegate


尝试将背景颜色更改为白色而不是默认颜色。究竟为什么不将其设置为默认颜色!?我花了很长时间才找到你的答案。我认为Kegham K.确保集合视图将数据源和委托连接到视图控制器,这为我节省了不少时间。我发现,如果您按ctrl键并按住,然后将放置到ViewController.swift中,并将选项设置为:Outlet/Name it/并设置为Weak,则连接会更好。希望这能进一步帮助别人。