swift 3 错误:参数标签 '(_:)' 与 UICollectionViewLayout 上的任何可用重载都不匹配(旋转轮)

Posted

技术标签:

【中文标题】swift 3 错误:参数标签 \'(_:)\' 与 UICollectionViewLayout 上的任何可用重载都不匹配(旋转轮)【英文标题】:swift 3 error : Argument labels '(_:)' do not match any available overloads on UICollectionViewLayout (Spinning wheel)swift 3 错误:参数标签 '(_:)' 与 UICollectionViewLayout 上的任何可用重载都不匹配(旋转轮) 【发布时间】:2016-11-09 10:43:59 【问题描述】:

我是编程新手,我正在尝试为 CollectionView 制作圆形效果,我有以下内容:

 override func prepare()

    super.prepare()

    let centerX = collectionView!.contentOffset.x + (collectionView!.bounds.width / 2.0)
    attributesList = (0..<collectionView!.numberOfItems(inSection: 0)).map  (i)
        -> CircularLayoutAttributes in
        // 1
        let attributes = CircularLayoutAttributes(forCellWithIndexPath: IndexPath(forItem: i, inSection: 0))
        attributes.size = self.itemSize
        // 2
        attributes.center = CGPoint(x: centerX, y: self.collectionView!.bounds.midY)
        // 3
        attributes.angle = self.anglePerItem*CGFloat(i)
        return attributes
    

但我得到了错误:参数标签'(_:)' 与任何可用的重载都不匹配,如图所示,我做错了什么?

【问题讨论】:

【参考方案1】:

Swift 3 改变了语法。

用途:

IndexPath(item: i, section: 0)

【讨论】:

不客气,其他方法可能也有同样的问题(通常:CGRectMake(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat),现在是CGRect(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)

以上是关于swift 3 错误:参数标签 '(_:)' 与 UICollectionViewLayout 上的任何可用重载都不匹配(旋转轮)的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 错误:“参数标签 '(named:_:,_:,)' 不匹配任何可用的重载”,同时尝试将 UIImage 数组加载到 UITableView

Swift 参数标签 '(_:, destination:)' 不匹配任何可用的重载

Swift CGPoint 参数标签 '(_:, _:)' 不匹配任何可用的重载

firebase swift 3 转换:无法将类型“(_)->()”的值转换为预期的参数类型“((错误)-> Void)?

Swift:在 tableView Cell 中设置标签和自定义参数

使用 Swift 3 时出现错误“缺少必需的参数:grant_type”