2017-06-06 8 views
0

事前選択されたインデックスでUITabBarViewControllerをインスタンス化しようとしています。ただし、以下のコードは、selectedIndexが正しくないTabBarをインスタンス化します。私は間違って何をしていますか?どんな助けもありがとうございます。ありがとうselectedIndexでUITabBarViewControllerをインスタンス化します

 let storyboard = UIStoryboard(name: "Visits", bundle: nil) 
     let visitsController = storyboard.instantiateViewController(withIdentifier: "VisitsTabBarViewController") as! VisitsTabBarViewController 

     visitsController.selectedIndex = 1 
+0

もう少し詳しいことを教えてください。予想される選択されたインデックスは何ですか、そして実際に選択されたインデックスは何ですか? – Malik

+0

が選択されています。実際の値は実際の値です(viewDidLoadにブレークポイントを設定して見ます)。 selectedIndexがviewDidLoadの後にのみ設定されるため、問題が発生するかどうかは疑問です。 –

+0

あなたの実装を見て、解決策を提案するためにもう少しコードを見る必要があります。私はAppDelegateでこのコードを使用していると仮定しています。 – Malik

答えて

0

私はそれを持っていると思います。解決策は、私がTabBarViewControllerをインスタンス化するとき上記のよう

class VisitsTabBarViewController: UITabBarController, UITabBarControllerDelegate { 
var index = 0 
.... 

func viewDidLoad() { 
     selectedIndex = index 
} 

let storyboard = UIStoryboard(name: "Visits", bundle: nil) 
    let visitsController 
storyboard.instantiateViewController(withIdentifier: "VisitsTabBarViewController") as! VisitsTabBarViewController 

visitsController.index = 1 

はその後、私はこのインデックスプロパティを設定示すようTabBarViewContollerをインスタンス化していたときのselectedIndexを使用TabBarViewControllere内のプロパティを設定していないことです。それはそれを修正するように見えた。

関連する問題