我正在制作一个简单的应用程序来显示饮料细节,现在我正在尝试添加一个允许用户输入自己饮料的视图.我已经创建了一个显示细节的视图,现在我只是将视图传递给另一个控制器来制作添加饮料视图.问题是,当我尝试添加“取消”和“保存”按钮时,它不会出现,尽管代码符合而没有任何错误.我附上了代码作为参考.
这是在按下添加按钮时创建新视图的代码. (我做了一个有效的添加按钮,它拉起了导航栏)
- (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中的标头导入到根控制器中,所以我认为这不是问题,你们中的任何人都会看到任何错误吗?
解决方法
只需改变线条
[self presentModalViewController:addNavController animated:YES];
至
[self presentViewController:navigationController animated:YES completion:nil];
并看到魔术.我也测试了代码