关于 ios:Presenting UIActivityViewController 从 UITableViewCell 内部启动
Presenting UIActivityViewController initiating from inside UITableViewCell
下面的代码可以正常工作,并在放入 PostsVC(Mian View Controller)时显示 UIActivityViewController,但是当放入放置在 UITableViewCell 内的 UIButton 的点击操作时,单元格没有名为"presentViewController"的成员错误相同的 PostsVC 视图控制器。
如何在最后一行代码中引用 PostsVC 来呈现它?
|
1
2 3 4 |
let appAddress = "https://itunes.apple.com/app/id978654?ls=1&mt=8"
let shareText ="Share our app" let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [shareText, appAddress], applicationActivities: nil) self.presentViewController(activityViewController, animated: true, completion: nil) |
在单元子类中添加对视图控制器的弱引用。在 cellForRowAtIndexPath:
中设置
|
1
|
cell.viewController = self
|
然后调用 cell.viewController 上的 presentViewController 方法而不是单元格本身。
相关讨论
- cell.viewController = self 行出错 \'cell\' 没有名为 \'viewController\' 的成员
- @Kashif 是的,你必须在你的单元子类中添加一个属性
- 对于其他人阅读,您必须在您的单元格子类中执行 weak var parentViewController = UIViewController()
THE END
二维码