【问题标题】:UICollectionView on UIScrollView freezesUIScrollView 上的 UICollectionView 冻结
【发布时间】:2016-12-30 05:17:56
【问题描述】:

我有一个 UIViewController,它包含 UIScrollView,其中包含一些元素,包括 UICollectionView。 UICollectionView 用于在固定框架中显示 N 个按钮。 UICollectionView 滚动被禁用。尽管如此,我的 UIScrollView 滚动不如没有 UICollectionView 滚动那​​么顺畅。我的问题是什么?它与可重复使用的细胞有关吗?

代码:

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


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

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("tagsCell", forIndexPath: indexPath) as! TagsCollectionViewCell
    cell.backgroundColor = UIColor.clearColor()
    cell.tagsButton.setTitle("Test", forState: .Normal)
    cell.tagsButton.sizeToFit()
    return cell
}
func collectionView(collectionView: UICollectionView!, layout collectionViewLayout: UICollectionViewLayout!,
                    sizeForItemAtIndexPath indexPath: NSIndexPath!) -> CGSize
{
    let element = "Test" as NSString
    let stringSize = element.sizeWithAttributes([NSFontAttributeName: UIFont.systemFontOfSize(17.0)])
    return CGSize(width: stringSize.width + 25, height: 29)
}

【问题讨论】:

    标签: ios swift uiscrollview uicollectionview


    【解决方案1】:

    如果scrollView 和collectionView 的frame 是一样的,那么一定是要区分,调用哪一个的问题。可能这就是它在 collectionView 上造成问题的原因。

    【讨论】:

    • scroll view height 1000左右,collection view 150左右,宽度一样
    • 那么它不会产生问题。您可以发布整个代码吗?以上仅针对collectionView。
    • 你有没有设置scrollView contentSize的属性。
    • 此时此视图控制器有 300 行代码(它有 3 个表格视图,但一切正常),如果您需要特定的内容,我可以发布它。不,我没有,它应该是什么价值?我的视图控制器高度?
    • 您在使用自动布局吗?如果你是,那么你不需要设置它。但是,如果您不使用 AutoLayout。将 scrollView 的 contentSize 设置为 scrollView 的高度 + 250
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2019-10-20
    • 2011-07-23
    相关资源
    最近更新 更多