我正在尝试在两个场景之间创建过渡,这是我在生产代码中的简化版本:
两者都是ViewController
,左边的里面有一个 TableView,当点击它时,它应该转换到右边的场景,从点击的任何单元格传递数据。
目前,使用模态segue,我可以点击单元格并正确转换,但是,我不知道如何将后退按钮放置到导航栏上。
我正在从单元格过渡到第二个视图控制器,如下所示:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"toSecond" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"toSecond"])
{
NSLog(@"Preparing segue for toSecond, setting some data on target scene");
NSIndexPath *path = [self.theTableView indexPathForSelectedRow];
MyData * myData = [myDataArray objectAtIndex:path.row];
// Obtain handles on the current and destination controllers
FirstController * startingViewController;
SecondController * destinationController;
startingViewController = (FirstController * ) segue.sourceViewController;
destinationController = (SecondController * ) segue.destinationViewController;
destinationController.someData = myData;
}
}
在 上SecondController
,我尝试修改 viewDidLoad 方法以编程方式包含一个后退按钮项,如上一个 SO 问题中所建议的那样:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIBarButtonItem * back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
[self.navigationItem setBackBarButtonItem:back];
}
所以我的问题是,我怎样才能在导航栏上获得后退按钮?像这样的东西:
谢谢