如何在 iOS 中可见 collection 视图的末尾添加 "add" 按钮

How can I add a "add" button at the end of the visible collection view in iOS

我正在尝试在 collection 视图(文件夹)的末尾添加一个按钮以添加新单元格(文件夹)。目标是始终在末尾有一个按钮来添加新单元格(文件夹)。

这是我正在做的事情: 1st I return 项目数 + 1(有一个额外的单元格用作按钮..)

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    //#warning Incomplete method implementation -- Return the number of items in the section
    let sections = self.ICEFolderFetchedResultsController!.sections
    let sectionInfo: NSFetchedResultsSectionInfo = sections![section] as NSFetchedResultsSectionInfo
    println("ICEFoldersCVC - numberOfItems: left")
    return sectionInfo.numberOfObjects + 1
}

第 2 次我尝试用这种方法初始化按钮:

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifierFolderCell, forIndexPath: indexPath) as ICEFolderCell
    var numberOfItems = self.collectionView(self.ICEFolderCollectionView, numberOfItemsInSection: 0)
    println("index path row is: \(indexPath.row)")
    println("number of items is: \(numberOfItems-1)")
    if (indexPath.row == numberOfItems - 1) {
        println("initializing button!")
        var addCellButton = UIButton(frame: cell.frame)
        addCellButton.setTitle("Add", forState: UIControlState.Normal)
        addCellButton.addTarget(self, action: "addCellButtonPressed", forControlEvents: UIControlEvents.TouchUpInside)
        cell.addSubview(addCellButton)
    }

    println("ICEFoldersCVC - cellForItemAtIndexPath: left")
    return cell
}

第三次我实现了这样的选择器:

    func addCellButtonPressed() {
    UIAlertView(title: "you did it!", message: "Add button was pressed :)", delegate: nil, cancelButtonTitle: "Great!")
}

但是这个从来没有被调用过,因为我从来没有看到警报视图...

结果是一个无法触及的单元格(因为持久存储中还没有添加数据)。当我触摸手机时没有任何反应..这是屏幕截图..等待..不能..没有足够的声誉..希望我能..sry 伙计们..

我需要一些指导才能使该按钮正常工作...非常感谢! 最好的。

你好像忘了打电话给 show 提醒

此外,不要为目标实现按钮和方法:

optional func collectionView(_ collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)

如果索引路径来自您的最后一个单元格,则显示警报。

尝试这些步骤

1) 另外,我在 UIalertView 上找不到任何显示方法。所以写出来

2) 始终在 addCellButtonPressed 中写入一些额外的简单日志,以检查该方法是否实际被调用。

我没用过 swift 但有使用 objectiveC 的经验。希望对你有帮助。