带有视图控制器的选取器视图
Posted
技术标签:
【中文标题】带有视图控制器的选取器视图【英文标题】:Picker view with View controller 【发布时间】:2014-09-23 00:57:17 【问题描述】:假设我有 3 个视图控制器,是否可以使用选取器视图来选择视图控制器。如果是这样,有人可以指出我正确的方向。
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 返回 1;- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
return names.count;
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
return [names objectAtIndex:row];
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
switch (row)
case 0:
break;
default:
break;
我正在尝试使用选择器视图来选择称为 TfaViewController 的视图控制器,我是否在正确的轨道上,有人可以帮助我编写在视图控制器之间切换的代码。 抱歉,我的代码设置不正确。
【问题讨论】:
你试过什么?您知道如何从选择器视图中获取用户的选择吗?你知道如何去一个新的控制器吗?把问题分解成各个部分,看看你是否能取得一些进展,如果遇到困难,再提出一个更具体的问题。 感谢您的回复@rdelmar,我用选择器视图做了一些程序,但从未使用选择器视图在视图控制器之间进行选择,我不确定这是否可能,所以我不知道如何使用选择器视图以转到新的视图控制器。我已经在这个网站和谷歌上搜索过,但我没有找到任何可以让我继续前进的东西。 您可以只使用 switch 语句(在选择器的选定行上切换),并在 case 语句中推送、呈现或调用 segue。 我已经编辑了我的问题@rdelmar,你有没有机会帮我解决这个问题。 你想如何在控制器之间切换?您希望将新的推送到导航堆栈,还是以模态方式呈现?你知道如何做这两件事吗?你在为你的控制器使用故事板吗? 【参考方案1】:你只需要实例化你想去的控制器并展示它,
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
TfaViewcontroller *tfaVC;
switch (row)
case 0:
tfaVC = [self.storyboard instantiateViewControllerWithIdentifier:@"TfaViewController"];
[self presentViewController:tfaVC animated:YES completion:nil];
break;
case 1:
// do another one here
default:
break;
您需要确保在情节提要中为控制器提供相同的标识符,就像您在 instantiateViewControllerWithIdentifier: 中传递的那样。
【讨论】:
我在这方面遇到了错误,我在此处和 Storyboard ID 中具有相同的名称。还有什么我需要做的。 TfaViewcontroller *tfaVC = [self.storyboard instantiateViewControllerWithIdentifier:@"TfaViewController"]; [self presentViewController:tfaVC 动画:YES 完成:nil]; 未知类型名称'TfaViewController';你的意思是'UIViewController'和使用未声明的标识符'tfaVC' @Sleeperinn,您是否将 TfaViewController.h 文件导入到您拥有此代码的类中? 是的,并在我正在调用的视图上设置 Storyboard ID @Sleeperinn,我的代码中有语法错误。您需要在 switch 语句之外声明 tfaVC。我已经更新了答案以显示正确的代码。以上是关于带有视图控制器的选取器视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在视图控制器中为子类选取器视图实现 selectedrow
uitableViewcell 内的 UIPickerView