ios导航错误使用按钮

Posted

技术标签:

【中文标题】ios导航错误使用按钮【英文标题】:ios navigation error using button 【发布时间】:2012-05-03 17:15:17 【问题描述】:

我正在尝试从登录屏幕转到注册。但是出现错误...

由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'应用程序试图呈现一个 目标上的 nil 模态视图控制器。'

登录.H

#import "SignupController.h"

@interface LoginController : UIViewController 

IBOutlet SignupController *signupController;

登录.M

(IBAction)signup:(UIButton*) sender

    NSLog(@"lla"); 
        [self presentModalViewController:signupController animated:YES];


【问题讨论】:

错误消息似乎告诉你你需要什么:你试图呈现的视图控制器 (signupController) 是 nil。在尝试加载它之前,您是否在某处实例化它?! 【参考方案1】:

您需要先分配并启动您的注册控制器。

self.signupController = [[SignupController alloc]initWithNibName:xibname];
[self presentModalViewController:signupController animated:YES];

其中xibname 将是您的 nibfile 的名称,类似于 @"signupController" 如果你的接口文件叫做signupController.xib

塞巴斯蒂安

【讨论】:

【参考方案2】:

如果您不使用 nib 文件:

signupController = [[SignupController  alloc] init];
[self presentModalViewController:signupController animated:YES];

如果您使用 nib 文件:

signupController = [[SignupController  alloc] initWithNibName:@"nib file name with out ext" bundle:nil];
[self presentModalViewController:signupController animated:YES];

【讨论】:

即使对我们中的一些人来说答案很明显,但与你的两行代码搭配的一些话也不会太多.. 得到它:),我会完成它。 即使你没有使用笔尖,你仍然应该使用 nil 参数调用initWithNibName:bundle:

以上是关于ios导航错误使用按钮的主要内容,如果未能解决你的问题,请参考以下文章

导航栏 rightbaritem 图像按钮错误 iOS 11

iOS 简单视图从导航堆栈错误弹出

iOS 7 静态表格视图选择样式错误

iOS 9:按钮上的黑色背景,以及某些设备上的性能错误

如何处理 iOS 11 Navigation BarButtonItems 错误?

导航栏按钮动画错误