这个问题可能已经回答,如果有,请分享链接。
我创建了一个单视图应用程序,它运行正常,但现在我添加了一个新视图,并且在按钮单击时,希望显示新视图。
这是点击操作的代码,
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{}
我可以像这样向“单一视图应用程序”添加另一个视图,还是应该为我的项目选择另一个模板?
感谢。
答案 0 :(得分:1)
没关系。单视图应用程序模板只是一个准系统模板。您可以添加任何类型的导航。
答案 1 :(得分:1)
您需要在UINavigationController
中创建AppDelegate
。然后将ViewController
rootViewController
UINavigationController
。rootViewController
。然后你就可以推送和弹出视图了。
以下是用于创建mainNavigationController
的代码,其中UINavigationController
是AppDelegate
中的ViewController *vc = [[ViewController alloc] init];
mainNavigationController = [[UINavigationController alloc] initWithRootViewController:vc];
:
ViewController
将rootViewController
设置为UINavigationController
后,它将符合UIViewController
push和pop方法,以创建{{1}} s的堆栈。
答案 2 :(得分:0)
在iOS 5中,我认为在视图之间切换有点不同,
我使用上面提到的用于切换视图的代码创建了一些应用程序。
但是现在,我必须这样写它才能发挥作用:
SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:settingsViewController animated:YES];