我有一个正常运行的应用,我想添加一个新视图,并使用IBAction函数创建一个现有按钮更改视图。我已经设置了以下内容并且没有得到任何回复。谢谢你的帮助。
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
答案 0 :(得分:1)
要确保三件事:
showSettings:
(如果没有,那么也许您根本没有将按钮点击事件连接到操作)SettingsViewController
实例获取alloc并初始化self.navigationController
不是nil(如果它当前的视图控制器可能没有嵌入到导航控制器中?)。更新
现在我们看到问题是#3。要将第一个视图控制器嵌入到UINavigationController中,以便可以推送第二个视图控制器:
答案 1 :(得分:0)
您是否已将按钮的TouchUpInside事件连接到showSettings:方法?这通常在Interface Builder中使用control-drag完成。如果在showSettings:的第一行设置断点,是否在按下按钮时点击了断点?如果不是这可能是您的问题。