1

这个问题可能已经回答了,如果是,请分享链接。

我已经创建了一个单视图应用程序,它工作正常,但现在我添加了一个新视图并单击按钮,希望新视图出现。

这是点击操作的代码,

    SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]];

    [self.navigationController pushViewController:settingsViewController animated:YES];

默认 ViewController 现在在 .h 文件中看起来像这样

    @interface ViewController : UIViewController<UIImagePickerControllerDelegate, UINavigationControllerDelegate>

SettingsViewController.m 有一个默认值

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{}

我可以像这样向“单视图应用程序”添加另一个视图,还是应该为我的项目选择另一个模板?

谢谢。

4

3 回答 3

1

没事儿。单视图应用程序模板只是一个准系统模板。您可以添加任何您喜欢的导航类型。

于 2012-07-23T02:47:46.830 回答
1

你需要UINavigationController在你的AppDelegate. 然后让你ViewControllerrootViewControllerUINavigationController然后您将能够推送和弹出视图。

这是创建rootViewControllerwheremainNavigationController的代码:UINavigationControllerAppDelegate

ViewController *vc = [[ViewController alloc] init];
mainNavigationController = [[UINavigationController alloc] initWithRootViewController:vc];

一旦你把它ViewController设置为s rootViewController,它将符合UINavigationControllerpush 和 pop 方法来创建一个UIViewControllers 堆栈。

于 2012-07-23T13:14:26.883 回答
0

在 iOS 5 中,我认为在视图之间切换有点不同,

我已经使用上述代码创建了一些应用程序来切换视图。

但是现在,我必须这样写才能工作:

    SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]];
    [self presentModalViewController:settingsViewController animated:YES];
于 2012-07-23T14:49:28.950 回答