我可以从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)
}
}
}
答案 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
}
}
这对我有用。一切顺利!