Представяне на UIActivityViewController, стартиращ от вътрешността на UITableViewCell

Кодът по-долу работи добре и представя UIActivityViewController, когато се постави вътре в PostsVC (Mian View Controller), но дава клетка няма член с име 'presentViewController' грешка, когато се постави вътре в действието на докосване на UIButton, който се поставя вътре в UITableViewCell на същия контролер за изглед PostsVC.

Как да се позова на PostsVC в последния ред на кода, за да го представя?

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)

person Kashif    schedule 22.06.2015    source източник


Отговори (1)


Добавете слаба препратка към вашия контролер за изглед в подкласа на вашата клетка. Задайте това в cellForRowAtIndexPath:

cell.viewController = self

След това извикайте метода presentViewController на cell.viewController, а не на самата клетка.

person rounak    schedule 22.06.2015
comment
Грешка на ред cell.viewController = self 'cell' няма член с име 'viewController' - person Kashif; 22.06.2015
comment
@Kashif да, ще трябва да добавите свойство за това във вашия подклас на клетка - person rounak; 22.06.2015
comment
За да чете някой друг, трябва да направите weak var parentViewController = UIViewController() във вашия подклас на клетка - person Kashif; 24.06.2015