如何从UICollectionViewCell引用UICollectionView?

时间:2016-11-10 07:43:34

标签: uicollectionview uicollectionviewcell

我可以从UICollectionViewCell中引用UICollectionView吗? 我终于想从UICollectionViewCell引用ViewController。

以下代码位于我的CustomCollectionViewCell类中。 我希望在此课程中存档推文支持。

@IBAction func tweetBtnTapped(_ sender: Any) {
    let cvc = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
    if let c = cvc {
        c.setInitialText("test tweet from iOS App")

        ### How can I refer ViewController??
        viewController = ???????

        if let vc = viewController {
            vc.present(c, animated: true, completion: nil)

        }
    }
}

1 个答案:

答案 0 :(得分:0)

请提供代码示例或您要实现的目标。我的理解是,当您对单元格执行某些操作时,您希望在视图控制器中返回一些操作。我是对的吗?

所以根据评论,Custom collection view cell:

class CustomeCell:UICollectionViewCell {

@IBAction func tweetButtonPressed() {

    let cvc = SLComposeViewController(forServiceType:SLServiceTypeTwitter)
    if let c = cvc {
        c.setInitialText("test tweet from iOS App")

        self.parentViewController?.presentViewController(c, animated: true, completion: nil)
    }

}

}

创建Extension.Swift文件:

导入UIKit

扩展名UIView {

var parentViewController: UIViewController? {

    var parentResponder: UIResponder? = self

    while parentResponder != nil {
        parentResponder = parentResponder!.nextResponder()

        if let viewController = parentResponder as? UIViewController {

            return viewController

        }

    }

    return nil

}

}

这对我有用。一切顺利!