繁体   English   中英

TabBar 在 Segue 之后消失(Swift - Xcode)

[英]TabBar disappears after Segue (Swift - Xcode)

我想知道我怎么能执行从一个正常赛格瑞UIViewControllerUIViewcontroller (带标签栏),同时仍保持在标签栏完整/可见。 请查看所附图片以获得更好的参考。

PS:我试过 unWindSegue 但它没有解决它,因为我不想在执行 segue 之前先加载我的第二个UIViewController

PickACardController

import UIKit

class PickCardController: UIViewController {
    @IBOutlet var button1: UIButton!
    @IBOutlet var button2: UIButton!
    @IBOutlet var button3: UIButton!
    var returnValue: Int = UserDefaults.standard.integer(forKey: "tokens")
    var returnValue2: Int = UserDefaults.standard.integer(forKey: "userScore")

    override func viewDidLoad() {
        super.viewDidLoad()
        if (UserDefaults.standard.integer(forKey: "dissapear") == 1)
        {
            button1.setImage(UIImage(named: "wildcardbackingglassesdarken-3x.png"), for: .normal)
            button1.isEnabled = false
        }
        if (UserDefaults.standard.integer(forKey: "dissapear2") == 1)
        {
            button2.setImage(UIImage(named: "wildcardbackingbikini-3x.png"), for: .normal)
            button2.isEnabled = false
        }
        if (UserDefaults.standard.integer(forKey: "dissapear3") == 1)
        {
            button3.setImage(UIImage(named: "wildcardbackingbottomdarken-3x.png"), for: .normal)
            button3.isEnabled = false
        }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

    @IBAction func Button1(_ sender: Any) {
        var i: Int = 0
        let randomNumber = arc4random_uniform(3) + 1
        i = Int(randomNumber)

        let alert = AlertController(title: "Congratualations", message: "You earned \(i) tokens!", preferredStyle: .alert)
        alert.setTitleImage(UIImage(named: "token"))
        // Add actions
                alert.addAction(UIAlertAction(title: "Let's See!", style: UIAlertActionStyle.default, handler: { (action) in
                    self.returnValue = self.returnValue + i;
                    UserDefaults.standard.set(self.returnValue, forKey:"tokens")
                    self.performSegue(withIdentifier: "show", sender: nil)
                    }))
            if (returnValue != 30){
                alert.addAction(UIAlertAction(title: "Continue Playing", style: UIAlertActionStyle.default, handler:    { (action) in
                    self.returnValue = self.returnValue + i;
                    UserDefaults.standard.set(self.returnValue, forKey:"tokens")
                    self.performSegue(withIdentifier: "continue", sender: self)
                    }))
            }
        self.present(alert, animated: true, completion: nil)
        UserDefaults.standard.set(1, forKey:"dissapear")
    }

令牌控制器

import UIKit

class TokenController: UIViewController {
    @IBOutlet var tokens: UILabel?
    @IBOutlet var minus1: UIButton!
    @IBOutlet var minus2: UIButton!
    var returnValue: Int = UserDefaults.standard.integer(forKey: "tokens")
    override func viewDidLoad() {
        super.viewDidLoad()

        tokens?.text = "x\(returnValue)"
    }

在此处输入图片说明

let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "yourTabbarController") as! UITabBarController
self.present(vc, animated: true, completion: nil)

然后:

vc.selectedIndex = indexOfYourTokenVc in tabbar

我希望它会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM