2016-03-28 15 views
1

私のプロジェクトはストーリーボード全体で、NavigationControllerUITableViewControllerが埋め込まれており、各セルに通知を共有するボタンがあります。ボタンでIをクリックしたときに、私はTwitterやFacebookなどのソーシャルネットワーク、私の以前のNavigationBarの消えるを選択した後activityViewControllerが表示されているときにUINavigationBarが非表示になっています

@IBAction func shareSheetButtonFeed(sender: AnyObject) { 
     let btnPos: CGPoint = sender.convertPoint(CGPointZero, toView: self.tableView) 
     let indexPath: NSIndexPath = self.tableView.indexPathForRowAtPoint(btnPos)! 
     passaValor = Int(indexPath.row) 
     let printtestess = (objects?[passaValor] as! PFObject) 

     let textToShare: AnyObject = (printtestess.objectForKey("subject")! as! String) + " - Cheque agora em:" 


     let myWebsite = NSURL(string:"http://www.mysite.com.br/") 
     let img: UIImage = UIImage(named: "myLogo-1024x1024")! 

     guard let url = myWebsite else { 
      print("nothing found") 
      return 
     } 
     self.navigationController?.setNavigationBarHidden(false, animated: true) 
     let shareItems:Array = [img, textToShare, url] 
     let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil) 
     activityViewController.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo] 
     self.presentViewController(activityViewController, animated: true, completion: nil) 
     } 

問題は、shareSheetは、提示されています。

私はボタンの内側に、このラインを使用して問題を解決しようとした、と私はボタンナビゲーションバーを再表示中にもう一度クリックすると:

self.navigationController?.setNavigationBarHidden(false, animated: true) 

だから私はViewWillAppear内のこの行を入れてみましたが、それ動作しませんでした。

私は自動レイアウトを使用しています

ありがとうございます。

答えて

1

ナビゲーションバーを表示するために共有シートが閉じられるまで待ってください。これを行うには、UIActivityViewControllercompletionWithItemsHandlerプロパティを設定します。

activityViewController.completionWithItemsHandler = { _ in 
    self.navigationController?.setNavigationBarHidden(false, animated: true) 
} 
+0

完璧な解決策、私は賞金を授与するために16時間待つだけです。 –