0

我想制作一个应用程序,用户在进入以下屏幕之前首先做出几个选择。一种选择是给出一个介于 0 和 10 之间的数字(可能是单卷选择器视图)。一旦选择了一个数字并且已经做出了其他选择,用户选择“完成”。每个数字都链接到不同的屏幕。所以 1 链接到屏幕 A,2 链接到屏幕 B 等。但我不知道我该怎么做。有人能帮帮我吗?谢谢

4

3 回答 3

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];
于 2013-05-23T12:11:35.283 回答
0

有一个变量 selectedNumber。当用户从选取器中选择值时,将其保存在 selectedNumber 中。然后你可以使用 switch 来推送不同的视图。或者简单的 if 条件。

if(selectedNumber == 1){
push View A
}
else if(selectedNumber == 2){
push View A
}
于 2013-05-23T12:03:47.947 回答
0

我会做的是将pickerview委托给我当前的控制器,并在其中实现方法:

pickerView:didSelectRow:inComponent:

因此,在选择了已知行后,我将使用 Durgaprasad 所说的 if 条件将用户重定向到想要的视图。

于 2013-05-23T12:07:41.177 回答