gpt4 book ai didi

ios - 通过 Picker View 选择切换到哪个 ViewController

转载 作者:行者123 更新时间:2023-11-28 19:53:53 27 4
gpt4 key购买 nike

我正在创建一个测验应用程序,用户可以在第一个屏幕上选择他们想做的类别。在他们做出选择后,用户应该按下 begin 按钮,它将把它带到那个 VC。

我不确定为每个类别设置一个 View Controller 是否是解决此问题的最有效方法。如果有人对此有任何建议,我们将不胜感激。

到目前为止我已经实现了这个:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:    (NSInteger)component
{
ObjectiveCViewController *objC;
CViewController *cVC;
switch (row) {
case 0:
objC = [self.storyboard instantiateViewControllerWithIdentifier:@"ObjectiveCViewController"];
[self presentViewController:objC animated:YES completion:nil];
break;
case 1:
cVC = [self.storyboard instantiateViewControllerWithIdentifier:@"cViewController"];
[self presentViewController:cVC animated:YES completion:nil];
break;
}
}

就切换 View Controller 而言,它工作得非常好,但是一旦选择了一个,它就会将用户带到该 View Controller ,而不是等待按下按钮。

此外,由于一个按钮只能链接到一个 vc,对于这个问题还有什么可接受的解决方案?

最佳答案

每个类别都有一个 View Controller 绝对不是可行的方法。您需要制作一个知道如何处理和显示问题对象的 QuestionViewController。您可以根据您的选择获取正确的问题。

至于你在做什么,这是行得通的:

在您的类延续类别中有一个 UIViewController *viewController 属性来存储所选的 View Controller 。

- (void)beginButtonPressed:(id)sender {
[self presentViewController:self.viewController animated:YES completion:nil];
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component
{
switch (row) {
case 0:
self.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ObjectiveCViewController"];
break;
case 1:
self.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"cViewController"];
break;
}
}

关于ios - 通过 Picker View 选择切换到哪个 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com