我只需要知道如何使某些'条件'重定向/ 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