导航控制器以编程方式查看控制器不工作IOS7
Posted
技术标签:
【中文标题】导航控制器以编程方式查看控制器不工作IOS7【英文标题】:Navigation Controller to View Controller Programmatically Not Working IOS7 【发布时间】:2014-03-17 05:08:41 【问题描述】:嗨,在我的应用程序中,我有注册的导航控制器,如果用户在注册表单中输入无效数据,我正在验证我的注册表单,它不应该移动到下一个视图控制器,并且如果用户提供正确的数据它应该移动到下一个视图控制器,但它不工作。
- (IBAction)reg:(id)sender
if ([self validateEmail:[email text]]== 1 && [self phonevalidate:[phone text]]== 1 && [name.text length] <= 25 && [city.text length] <= 25 )
pollpoliticalViewController *pollVC = [[UIStoryboard storyboardWithName:@"Main.storyboard" bundle:nil] instantiateViewControllerWithIdentifier:@"PollPoliticalVCID"];
[self.navigationController pushViewController:pollVC animated:YES];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Thanks For The Registration" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
[alert show];
[alert release];
else
UIAlertView *alert1 = [[UIAlertView alloc]initWithTitle:@"Message" message:@"you entered worng correct" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alert1 show];
[alert1 release];
我使用上面的代码以编程方式从导航控制器中导航到视图控制器,但它给出了类似的错误。
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“找不到名为“Main.storyboard”的故事板
但是我的故事板名称是 main.storyboard 我不知道为什么它会出现这样的错误这个。
谢谢。
【问题讨论】:
如果您从中调用此代码的控制器与 pollpoliticalViewController 位于同一故事板中,则使用 self.storyboard 会更容易。无需使用 storyboardWithName:bundle:. 【参考方案1】:情节提要名称不包含扩展名,请尝试使用Main
而不是Main.storyboard
pollpoliticalViewController *pollVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"PollPoliticalVCID"];
来自官方documentation:
为指定的故事板资源文件创建并返回一个故事板对象。
+(UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil
参数名称情节提要资源文件的名称,不带文件扩展名。如果此参数为 nil,则此方法引发异常。 [...]
【讨论】:
以上是关于导航控制器以编程方式查看控制器不工作IOS7的主要内容,如果未能解决你的问题,请参考以下文章