2015-07-08 4 views
3

Я хочу показать одну из двух видов в стриже на основе, если заявление, когда приложение первым запускает, как я могу это сделать это логикаSegue в стриже на основе логики

if signupconfirmed == true { 
// have to show one view 
} else { 
// have to show another view 
} 
+0

Ваше приложение раскадровку на основе или xibs? –

+0

его раскадровка основана. –

ответ

3

Один из способов как вы можете начать ViewController с идентификатором с кодом ниже:

var signupconfirmed = true 
@IBAction func signUpPressed(sender: AnyObject) { 

    if signupconfirmed { 
     // have to show one view 
     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let vc = storyboard.instantiateViewControllerWithIdentifier("First") as! SViewController 
     self.presentViewController(vc, animated: true, completion: nil) 
    } else { 
     // have to show another view 
     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let vc = storyboard.instantiateViewControllerWithIdentifier("Second") as! TViewController 
     self.presentViewController(vc, animated: true, completion: nil) 
    } 
} 

Update:

вы можете выполнить Тхи s действие в вашем AppDelegate.swift

Вот ваш код:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    let signupconfirmed = NSUserDefaults.standardUserDefaults().boolForKey("SignUp") 
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    var initialViewController = UIViewController() 
    var storyboard = UIStoryboard(name: "Main", bundle: nil) 
    if signupconfirmed { 
     initialViewController = storyboard.instantiateViewControllerWithIdentifier("First") as! UIViewController 
    } else{ 
     initialViewController = storyboard.instantiateViewControllerWithIdentifier("Second") as! UIViewController 
    } 

    self.window?.rootViewController = initialViewController 
    self.window?.makeKeyAndVisible() 
    return true 
} 

Надеется, что это поможет.

+0

Привет, нет функции кнопки регистрации I переменная будет иметь значение, установленное уже на основе некоторой логики, поэтому, когда пользователь открывает приложение во второй раз, я хочу показать ему одно из двух представлений в начале самого приложения. Вот приблизительная идея запуска пользователем приложения -> приложение должно показать одно из двух представлений на основе значения, которое присутствует в signupcon подтвержденной переменной -> это должно происходить каждый раз, когда пользователь запускает приложение. (переменная хранится в NSUserDefaults.standardDefaults. Спасибо YOu. –

+0

Как и в Whatsapp, при первом запуске приложения отображается подтвержденный запрос номер телефона, когда он подтвержден, и когда пользователь запускает в другое время представление показано, это таблица пользователей (регистрация больше никогда не сена) тот же самый механизм, который я искал –

+0

Хорошо, я понимаю вашу проблему и позволю мне обновить свой ответ .. :) –

1

в вашем AppDelegate "didFinishLaunchingWithOptions" прежде чем возвращение

var userSignedUp = NSUserDefaults.standardUserDefaults().boolForKey("signup") 

     if userSignedUp { 
       // have to show another view 
      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let vc = storyboard.instantiateViewControllerWithIdentifier("anyOtherViewThanSignUp") as! TViewController 
     self.window?.rootViewController = vc 
     } else { 
      // have to show SignUp view 
      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let vc = storyboard.instantiateViewControllerWithIdentifier("signupView") as! SViewController 
     self.window?.rootViewController = vc 

     } 
    } 
+0

Э-э-Арслан Работает как шарм. Спасибо чувак! –

+0

если его работа, пожалуйста, отметьте его как «Принято», спасибо –

Смежные вопросы