我只需要知道如何使某些'條件'重定向/ segue某些視圖。例如:有條件的使用故事板segue
如果用戶還沒有登錄,則會出現一個帶有登錄表單的視圖。但是,如果用戶已經登錄,他們將看到他們的個人資料視圖。
如何使用故事板那樣製作條件性的segue?
謝謝
我只需要知道如何使某些'條件'重定向/ segue某些視圖。例如:有條件的使用故事板segue
如果用戶還沒有登錄,則會出現一個帶有登錄表單的視圖。但是,如果用戶已經登錄,他們將看到他們的個人資料視圖。
如何使用故事板那樣製作條件性的segue?
謝謝
對於有條件的段落,不要像平常那樣從按鈕開始一個段落。 取而代之的是使用以下步驟:
在你storyboad,直接從源視圖控制器到目標視圖控制器啓動SEGUE。爲此,您可以將源視圖控制器的圖標拖到視圖正下方的欄上,並將其拖到主畫布區域的目標視圖控制器上。只要記住你必須直接連接兩個視圖控制器,而不是任何控制。
爲此segue輸入一個合適的segue標識符。例如說「conditionSegue」現在
,在源視圖控制器的.m文件執行你的病情,並呼籲-performSegueWithIdentifier:sender:
方法上的「自我」是這樣的:
-(void)loadDestinationVC{
if(condition == YES){
[self performSegueWithIdentifier:@"conditionSegue" sender:nil];
}
}
我希望我做到了明確。
您直接從一個控制器到另一個(或他人)進行塞格斯,並給他們的標識符。在代碼中,您根據您的條件調用segse選擇,然後調用performSegueWithIdentifier:sender :.
我認爲更好的方法,如果你想使用按鈕塞格斯將使用:
首先創建一個按鈕,並使用一個SEGUE將其連接到另一種觀點認爲,給這個Segue公司的名稱
然後在.m文件使用此方法
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if ([identifier isEqualToString:@"SegueName"]) {
//Check if should make the segue
//if not do something
[self doSomething];
//and return NO;
return NO;
}
return YES;
}
如果您使用的是xcode 6並且不確定要使用哪種類型的sague,則可以使用「Action Sague」下的「Show」sague。另外,要給sague一個標識符(名稱),請在故事板中選擇它,並在「屬性」檢查器(右側)下的「標識符」字段中輸入選擇的名稱 –
創建按ctrl底部到目的地從視圖控制器圖標拖動「通用」 SEGUE。這segue不會與任何操作相關聯。然後,在你的代碼中不斷的情況下使用要觸發SEGUE你的條件代碼,請致電:
- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender
在斯威夫特你可以這樣做: 爲@Gaurav辛格在他的回答提出
第1步:從ViewControllerA向ViewControllerB插入一個segue。 segue應該從ViewControllerA本身開始,而不是從任何控件(如Button)中開始。
步驟2:在storyboard中給出segue唯一標識符。例如:seageFromAtoB
第3步:在您的ViewControllerforA。迅速寫:
if(condition == true) {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
如果您在其他一些Thread
執行一些任務,然後使用performSegueWithIdentifier
可以拋出異常。
如果你得到這個錯誤,那麼你應該使用:
if(condition==true){
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
}
這將在主Thread
執行SEGUE重定向。
希望這有助於有人找斯威夫特選項
它的工作你的卻,我也從一個UITableViewCell一個conditionall SEGUE,因爲有些細胞具有顯示一些看法和其他細胞等... 事情是當我從push segue回來時,它失去了焦點並重置了視圖,它不會回到開始動作的單元格。我有一個頂部的分段控件的tableview,它在2個數據源之間變化。如果我從一個uitableviewcell中選擇了分段控件的第二個索引,當我從segue回來時,它開始在分段控件上使用第一個索引的視圖... – fguespe
@fguespe你是否在問這個問題的解決方案或者是一般性評論。 –
是的,我需要一個解決方案,但我提前了一下,我明白並不是故障的條件賽格。正常的賽段發生。問題是分段控件在返回時查找索引,但它顯示了第一個分段數據。 – fguespe