我希望用户首先做一些选择,然后再转到下面的屏幕。其中一个选择是在0到10之间给出一个数字(可能是单卷选择器视图)。一旦选择了一个数字并且还做出了其他选择,用户就选择“完成”。每个号码都链接到不同的屏幕。所以1链接到屏幕A,2链接到屏幕B等。但我不知道我怎么能这样做。有人能帮帮我吗? THX
答案 0 :(得分:1)
在用于选择选择器视图的委托方法中,您可能希望使用某种形式的switch语句来加载和推送下一个视图控制器。您甚至可能决定从plist加载这些字符串值,以便该类更具可重用性。
NSInteger selectedNumber; //number from picker
NSString *nextViewController = nil;
switch (selectedNumber) {
case 1:
nextViewController = @"AViewController";
break;
case 2:
nextViewController = @"BViewController";
break;
case 3:
nextViewController = @"CViewController";
break;
//....
case n:
nextViewController = @"XViewController";
break;
default:
nextViewController = @"DefaultViewController";
break;
}
id viewController = [[NSClassFromString(nextViewController) alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
答案 1 :(得分:0)
有一个变量selectedNumber。当用户从选择器中选择值时,将其保存在selectedNumber中。然后你可以使用开关来推送不同的视图。或者如果条件简单。
if(selectedNumber == 1){
push View A
}
else if(selectedNumber == 2){
push View A
}
答案 2 :(得分:0)
我要做的是将pickerview委托给我当前的控制器,并在其中实现方法:
pickerView:didSelectRow:inComponent:
所以选择已知行,我会将用户重定向到想要的视图,条件为Durgaprasad说。