我想实现一个方案,即在第一个表视图控制器上单击表单上的标签时,将打开另一个表视图控制器,这为我提供了可供我为该标签选择的选项列表。示例:如果第一个表格视图控制器上的标签为“性别”,则单击旁边的箭头应打开另一个表格视图控制器,其行为公,母。
第一个控制器是“编辑配置文件”,其中包含以下代码:
- (IBAction)btndrpSelect_Click:(id)sender {
DropDownViewController *secondView = [[DropDownViewController alloc] initWithNibName:@"DropDownViewController" bundle:nil];
self.GenderArray = [NSMutableArray arrayWithObjects: @"Male", @"Female", nil];
secondView.drpOptions = self.GenderArray;
UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:secondView];
[self.navigationController pushViewController:passcodeNavigationController animated:YES];
}
通用下拉表视图控制器具有以下代码:
.h文件:
@interface DropDownViewController : UITableViewController
{
NSMutableArray *drpOptions;
}
@property(nonatomic,retain)NSMutableArray *drpOptions;
@end
.m文件:
int count = [drpOptions count];
for (int i = 0; i < count; i++)
NSLog (@"Element %i = %@", i, [drpOptions objectAtIndex: i]);
当我单击第一个视图控制器上的按钮时,我希望屏幕翻转并显示下拉选项,但它会退出并出现错误。请指导。
谢谢
如果没有看到堆栈跟踪和错误代码,我肯定无法回答您的问题。但是,通过查看您的代码,我可以看到您尝试将一个导航控制器推到另一个。这将导致引发错误。删除以下代码行:
UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:secondView];
并将您的pushViewController代码更改为此:
[self.navigationController pushViewController:secondView animated:YES];
在将来的编程工作中,请密切注意错误代码;他们通常会很有帮助。您的错误应该按照“不支持Pushing NavigationController”的方式说明,这是非常有用的信息,应该是您的第一件事。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句