2017-01-18 1 views
0

タブバーコントローラにナビゲーションアイテムボタンを作成しました。(<UIPopoverPresentationController:0x7fdb10687050>)にはnil以外のsourceViewまたはbarButtonItemが設定されている必要があります。

私は、このボタンは、それがビューコントローラをポップオーバーれる、チェックされている場合、この関数を実行したい
class TabBarContoller: UITabBarController,UIPopoverPresentationControllerDelegate { 
... 
     let languageBtn = UIBarButtonItem(title: "EN", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(Language)) 
     // navigationItem.rightBarButtonItem = [rightButton , languageBtn] 
     navigationItem.setRightBarButtonItems([rightButton,languageBtn], animated: true) 

func showLanguagePopOver(base: UIView) { 
     let popOverContent = self.storyboard?.instantiateViewControllerWithIdentifier("Languages")as! Languages 
     popOverContent.preferredContentSize = CGSizeMake(150, 150) 
     let nav = UINavigationController(rootViewController: popOverContent) 
     nav.modalPresentationStyle = .Popover 
     let popOver = nav.popoverPresentationController 
     popOver?.delegate = self 
     popOver?.sourceView = base 
     popOver?.sourceRect = base.bounds 
     popOver?.sourceRect = CGRect(x: 0, y: 0, width: 100, height: 25) 
     self.presentViewController(nav, animated: true, completion: nil) 
    } 

私はそのようにそれを呼び出そうとしました:

func Language() 
{ 
    showLanguagePopOver(UIView) 

    } 

それはdidnの助けてください、助けてください?線より下の

答えて

1

変更:この行で

showLanguagePopOver(UIView) 

showLanguagePopOver(self.view) 
+0

おかげで、それが働いた多くの –

関連する問題