【问题标题】:Using UICollectionViewController within Container - Swift在容器中使用 UICollectionViewController - Swift
【发布时间】:2023-04-06 02:56:01
【问题描述】:

我正在尝试使用嵌入在 MainViewController 上的容器中的 UICollectionViewController

如下图:

这是我的 CollectionViewController:

class ExistingProjectsCollectionViewController: UICollectionViewController, UICollectionViewDelegate, UICollectionViewDataSource {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Register cell classes
        self.collectionView.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)

    }

    // MARK: UICollectionViewDataSource

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView!) -> Int {
        //#warning Incomplete method implementation -- Return the number of sections
        return 1
    }

    override func collectionView(collectionView: UICollectionView!, numberOfItemsInSection section: Int) -> Int {
        //#warning Incomplete method implementation -- Return the number of items in the section
        return 1000
    }

    override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as UICollectionViewCell

        // Configure the cell

        return cell
    }

但是,由于某种原因,当我运行应用程序时,CollectionView 会滚动,但不包含橙色框。

  • 我试过直接在 MasterViewController 上实现它, 效果很好 - 所以这似乎与使用 容器内的 UICollectionViewController。

  • 我也试过关闭自动布局 - 没有成功。

  • 我在 Xcode 6 Beta 6 上使用 Swift。

  • 我已确保我的可重复使用的单元格 ID 在情节提要中是“单元格”

我错过了什么明显的东西吗?

【问题讨论】:

  • @matt 我的道歉,我的意思是 UICollectionViewController - 不是 UIContainerViewController

标签: ios uiviewcontroller swift uicollectionview containers


【解决方案1】:

问题可能是这一行:

self.collectionView.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)

您不需要也不应该仅仅为了将单元格从情节提要中取出而注册任何类。如果需要,故事板可以指定一个单元类。基本上,您是在说“不要从情节提要中获取单元格 - 只需使用普通的 UICollectionViewCell 代替”,这与您想要做的完全相反。

我按照您的描述创建了一个项目设置(从我的主视图控制器中嵌入 segue),将您的代码复制并粘贴到其中,注释掉该行,然后运行它。细胞看起来很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多