如何从 UICollectionViewCell 引用 UICollectionView?
How to refer UICollectionView from UICollectionViewCell?
我可以从 UICollectionViewCell 引用 UICollectionView 吗?
我终于想从 UICollectionViewCell 中引用 ViewController。
以下代码在我的 CustomCollectionViewCell Class 中。
我想在此 class.
中存档推文支持
@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)
}
}
}
请提供代码示例或您要实现的目标。我的理解是,当您对单元格执行某些操作时,您希望在视图控制器中返回一些操作。我说得对吗?
所以根据评论,自定义集合视图单元格:
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
}
}
这对我有用。祝一切顺利!
我可以从 UICollectionViewCell 引用 UICollectionView 吗? 我终于想从 UICollectionViewCell 中引用 ViewController。
以下代码在我的 CustomCollectionViewCell Class 中。 我想在此 class.
中存档推文支持@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)
}
}
}
请提供代码示例或您要实现的目标。我的理解是,当您对单元格执行某些操作时,您希望在视图控制器中返回一些操作。我说得对吗?
所以根据评论,自定义集合视图单元格:
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
}
}
这对我有用。祝一切顺利!