0

私は迅速なアプリを持っており、UIViewController にはボタンがあります。私の場合StoryBoard、ボタンをに添付し、UITabControllerユーザーがクリックすると、リダイレクトされます。ただし、デフォルトでは、最初のタブが表示されます。代わりに 3 番目のタブを表示する方法はありますか?

これは私のセグエのオプションです:

ここに画像の説明を入力

4

1 に答える 1

1

はい - しかし、どれだけ複雑にする必要があるかは、何をしているかによって異なります。

最初からしか行かない場合は、 or関数UIViewControllerにコードを追加するだけです(インデックスはゼロベースであることを思い出してください)。viewWillAppearviewWillLoad

override func viewWillAppear(animated: Bool)
{
    self.selectedIndex = 2
}

複数のエントリ ポイントがある場合は、 を使用してprepareForSegueにフラグを設定できますtabBarController。この例では、値が 100 と 200 に設定された 2 つのボタンがありUIViewControllerますtag

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "TabBarSegue"
    {
        if let destinationVC = segue.destinationViewController as? myTabBarViewController
        {
            if sender!.tag == 100
            {
                destinationVC.jumpToTab2 = true
            }
            if sender!.tag == 200
            {
                destinationVC.jumpToTab2 = false
            }

        }
    }
}

TabBarController、フラグを定義しましたjumpToTab2

class myTabBarViewController: UITabBarController
{
    var jumpToTab2 : Bool = false

    override func viewWillAppear(animated: Bool)
    {
        if jumpToTab2
        {
            self.selectedIndex = 2
        }
        jumpToTab2 = false // reset the flag before next time
    }
}
于 2016-04-12T16:02:03.110 に答える