按下按钮切换到不同的VIewController

时间:2014-04-04 00:35:15

标签: ios

我有一个正常运行的应用,我想添加一个新视图,并使用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

2 个答案:

答案 0 :(得分:1)

要确保三件事:

    点击按钮时会调用
  1. showSettings:(如果没有,那么也许您根本没有将按钮点击事件连接到操作)
  2. SettingsViewController实例获取alloc并初始化
  3. self.navigationController不是nil(如果它当前的视图控制器可能没有嵌入到导航控制器中?)。
  4. 更新

    现在我们看到问题是#3。要将第一个视图控制器嵌入到UINavigationController中,以便可以推送第二个视图控制器:

    • 在故事板中选择第一个视图控制器
    • 选择(菜单)编辑器 - >嵌入 - >导航控制器

答案 1 :(得分:0)

您是否已将按钮的TouchUpInside事件连接到showSettings:方法?这通常在Interface Builder中使用control-drag完成。如果在showSettings:的第一行设置断点,是否在按下按钮时点击了断点?如果不是这可能是您的问题。