2012-08-29 64 views
1

賽格瑞過渡我新的故事情節和Xcode中(使用4.4)與條件故事板

我想實現一個登錄條件,如果完成 - 在SEGUE會工作。否則,用戶應該保持相同的觀點。

我創建了2個UIView:ViewController和Bar Controller。

我還創建了從ViewController到條形控制器的segue,並將其標識符設置爲loginSegue爲模態。

在LoginViewController.m我增加了以下內容:

- (IBAction)login:(id)sender { 
    self.email = self.emailText.text; 
    self.password = self.passwordText.text; 
    if ([self.email isEqualToString:@"O"] && [self.password isEqualToString:@"O"]) 
     [self performSegueWithIdentifier:@"LoginSegue" sender:sender]; 
    else 
     [passwordText setText:@""]; 
} 

當我調試的代碼 - 我看到,如果跳到其他的電子郵件地址和密碼的情況下,爲了不等於O,但是SEGUE (轉換到新視圖)仍然發生。

如何防止用戶轉移到新視圖?

順便說一句,如果我刪除if else條件 - 用戶正在自動轉移到下一個視圖。在我看來,當我從一個視圖畫到另一個視圖時,它被配置在某處。

回答

6

刪除空行之間的if[self perform...]

此外,你可能要考慮讓你的if-else聲明中括號來再次發生保持這個問題:

if ([self.email isEqualToString:@"O"] && [self.password isEqualToString:@"O"]){ 
    [self performSegueWithIdentifier:@"LoginSegue" sender:sender]; 
}else{ 
    [passwordText setText:@""]; 
} 

如果沒有按」 t解決問題,然後確保將segue連接到兩個控制器,而不是直接連接到按鈕。

+0

在我的代碼中,我沒有空白行 - 它是這樣複製的(不知道爲什麼,我改變了它)。反正 - 添加括號不會幫助 – Dejell

+0

@Odelya這個segue直接連接到界面生成器中的這個按鈕嗎? –

+0

在故事板中,segue從ViewController(登錄視圖)連接到Tab控制器。我是通過右鍵單擊橙色圖標登錄視圖控制器並將該行繪製到標籤欄控制器並分配標識符 – Dejell