xcode添加按钮导航栏
我正在做一个简单的应用程序来显示饮料的详细信息,现在我试图添加一个视图,允许用户输入自己的饮料。我已经创建了一个视图来显示细节,现在我只是将视图传递给另一个控制器来创建添加饮料视图。问题是,当我尝试添加“取消”和“保存”按钮时,它不会出现,尽管代码没有任何错误。我附上代码作为参考。xcode添加按钮导航栏
这是在按下添加按钮时使新视图生效的代码。 (我做了一个附加按钮的工作原理,并拉起导航栏)
- (IBAction)addButtonPressed:(id)sender {
AddDrinkViewController *addViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailSecond"];
UINavigationController *addNavController = [[UINavigationController alloc] initWithRootViewController:addViewController];
[self presentModalViewController:addNavController animated:YES];
NSLog(@"Add button pressed!");
这是从addviewcontroller实现文件的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel:)];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save:)];
}
- (IBAction)save:(id)sender {
NSLog(@"Save Pressed");
[self dismissModalViewControllerAnimated:YES];
}
- (IBAction)cancel:(id)sender{
NSLog(@"Cancel Pressed");
[self dismissModalViewControllerAnimated:YES];
}
我已导入头球addview成根控制器,所以我不认为这是问题,你们有没有看到有什么不对?
我的建议是在运行应用程序的XIB文件中的任何代码之前为视图创建模板。在分配全新视图后,不要试图在分配全新视图后设置每个按钮,而是在XIB中手动设置一个新按钮,以便将每个元素与应用程序链接起来,并确保它看起来就在调试之前。
只需进入您的“[你的应用程序名称] viewController.xib”并将对象库中的视图拖到左边的窗格中即可。从这里添加每个元素并将它们放置在视图上的所需位置。现在在“[Your-App-Name] viewController.h”文件中,为每个需要更改的元素添加IBOutlets,并为每个按钮添加IBActions。还要为新视图创建一个IBOutlet。
IBOutlet UIView* addDrinkView;
回到XIB文件中,使用文件所有者将每个出口链接到每个元素,并将每个方法链接到每个按钮。确保你链接IBOutlet
现在在你的“[Your-App-Name] viewController.m”文件中,你可以定义每个按钮的方法,并且你需要做的只是访问新的视图而忽略它。 :
-(IBAction)openAddView
{
[self setView:addDrinkView];
}
-(IBAction)saveButtonPressed
{
[self setView:view];
//save code goes here
}
-(IBAction)cancelButtonPressed
{
[self setView:view];
//cancel code goes here
}
这应该比试图在代码中放置所有东西容易得多。
希望这会有所帮助!
我想知道如果我不能只是创建另一个视图,只是通过基本相同的现有视图。我正在努力学习如何有效地编程和习得良好习惯,因为我只是在学习。 我有一个标签视图进入导航控制器,它连接到一个表视图,该表视图有一个细节视图,这是我传递给adddetailviewcontroller的视图。 我已经做了导航控制器,但似乎无法将按钮放入它。 –
只需更改行
[self presentModalViewController:addNavController animated:YES];
到
[self presentViewController:navigationController animated:YES completion:nil];
,看到了魔术。我也测试了代码
我认为这可能是一个问题,因为我有一个标签栏控制器,或者我是如何制作导航栏的故事板。我正在尝试与故事板学习,但是我正在使用的这本书尚未使用那些东西进行更新,仍在使用笔尖文件。 –
导航栏是否显示? –