设置行数后集合视图水平滚动? ios 斯威夫特

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 项添加到新行中 贴出你的一些代码,这样我可以更好地理解你在做什么

以上是关于设置行数后集合视图水平滚动? ios 斯威夫特的主要内容,如果未能解决你的问题,请参考以下文章

Toggle 在最大行数后启用 UITextView 滚动

垂直放置集合视图单元格而不是水平放置?

iOS 中的动态布局

如何在按钮按下时在集合视图中滚动(水平)?

如何防止搜索栏在滚动时消失? iOS 斯威夫特

ios水平滚动视图和自动布局问题