【问题标题】:collection view horizontal scroll after set number of rows ? ios Swift设置行数后集合视图水平滚动? ios 斯威夫特
【发布时间】:2016-07-31 19:03:06
【问题描述】:

我目前有一个连接到服务器以获取数据并填充数据的集合视图。我怎样才能使它一旦 3 行(或 x 行)变满而不是向集合视图添加另一行,集合视图将变为水平滚动(本质上是将新单元格添加到必须横向滚动才能看到的新列中)?

【问题讨论】:

    标签: ios swift uicollectionview


    【解决方案1】:

    你可以试试这样的:

    if yourCollectionView.numberOfItemsInSection(0) >= x {
       let layout = yourCollectionView.collectionViewLayout as! UICollectionViewFlowLayout    
       layout.scrollDirection = .Horizontal
       yourCollectionView.collectionViewLayout = layout
    }
    

    或者在numberOfItemsInSection方法中返回计数之前在if语句中设置代码,并参考x与你返回的内容相关,例如:

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        let countToReturn = yourDataSource.count
    
        if countToReturn >= x {
            let layout = yourCollectionView.collectionViewLayout as! UICollectionViewFlowLayout
            layout.scrollDirection = .Horizontal
            yourCollectionView.collectionViewLayout = layout
        }
    
        return countToReturn
    }
    

    【讨论】:

    • 在尝试这个之后,集合视图单元格只是被推到一起,它不会变成滚动标签
    • @user6520705 更新了答案,使用numberOfItemsInSection方法中的方法,现在应该可以正常工作了。
    • 所以现在一切看起来不错,但它不会水平滚动,它只是将第 16 项添加到新行中
    • 贴出你的一些代码,这样我可以更好地理解你在做什么
    猜你喜欢
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多