更改为不同的VIewController按钮按
我有一个功能正常的应用程序,我想添加一个新的视图并使用IBAction功能使现有的按钮更改视图。我已经建立了以下,并没有得到任何回应。谢谢你的帮助。更改为不同的VIewController按钮按
MainViewController.h
- (IBAction)showSettings:(UIButton *)sender;
MainViewController.m
-(void)showSettings:(UIButton*)btn{
SettingsViewController *oView = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
[self.navigationController pushViewController:oView animated:YES];
}
SettingsViewController.h(新视图)相对空的。
SettingsViewController.m
boilerplate
你有没有连接好您的按钮的TouchUpInside事件您showSettings:方法是什么?这通常在Interface Builder中通过控制拖动完成。如果你在showSettings:的第一行设置了一个断点,当你按下按钮时,你是否点击了断点?如果不是这可能是你的问题。
它迷上了。我在函数showSettings()内部有一个警报,警报将在函数内部的代码之前或之后运行。 – harp
也许你的navigationController为null。顺便说一句,学习一些调试器命令非常值得。你可以在showSettings(它是一个showSettings:方法,而不是showSettings()函数)和调试器类型“po self.navigationController”中停止一个断点,例如,在运行期间检查当前状态... – RobP
以及酷thx。看起来像我需要一个导航控制器。也许你知道这里有一个很好的链接,我试着从苹果库中学习这些东西,但他们的样本总是会产生一堆错误。 – harp
三件事情,以确保:
-
showSettings:
被称为当按钮被窃听(如果不是那么也许你没有按键敲击事件连接到行动的话) -
SettingsViewController
实例都有alloc和初始化 -
self.navigationController
不是零(如果它是零,也许当前的视图控制器没有嵌入导航控制器的第一位?)。
更新:
现在我们所看到的问题是#3。嵌入您的第一个视图控制器一个UINavigationController所以你可以推第二视图控制器:
- 选择故事板
- 选择(菜单)编辑器中的第一个视图控制器 - >嵌入在 - >导航控制器
请不要发布样板代码。 SettingsViewController.m中没有任何内容来自模板。 – rdelmar
对不起,我没有意识到。想想如果我没有发布,肯定会有人问我为什么不发布它! – harp