I wanna know how can i perform a segue from a normal UIViewController
to my UIViewcontroller
(with a tab bar) while still keeping the tab bar intact/visible. Do look at the image attached for a better reference.
P.S: I tried unWindSegue but it doesn't resolve it because i don't want to load my 2nd UIViewController
first before i perform the segue.
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")
}
TokenController
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)
Then:
vc.selectedIndex = indexOfYourTokenVc in tabbar
I hope it may help.