IOS / Objective-C / Storyboard:推送视图控制器的后退按钮未激活

时间:2018-09-03 17:02:16

标签: ios storyboard pushviewcontroller

我有一个VC,可使用代码并引用其Storyboard标识符将另一个VC推入堆栈。但是,由于某种原因,新推送的VC的“后退”按钮不起作用,而是显示“返回”,而不是像通常那样推送该VC的名称。

当前VC中的代码如下:

UIStoryboard * storyBoard = self.storyboard;

IDProfilePicVC *picVC =
[storyBoard instantiateViewControllerWithIdentifier:@"addprofile"];
//push using existing nav
[self.navigationController pushViewController:picVC animated:YES];

当代码成功将新的VC推入堆栈时,该按钮将显示“ Back”,而不是firstVC的名称,并且该按钮处于非活动状态。按下时什么也没发生。

我在应用程序的其他地方使用了此代码,其行为符合预期。第一个VC或第二个VC中没有代码可以使反向按钮处于非活动状态,而我不知所措,为什么会发生这种情况。顺便说一句,我还可以在viewdidload的代码中设置标题。

例如,情节提要中还有其他设置可以解决此问题吗?第二个VC的价值是嵌入到其导航中或由其自身嵌入的,但在这种情况下,我将绕过该导航。

修改:

我删除了额外的导航(嵌入了secondVC),并且它没有任何改变

第二次修改

从第一个VC开始,我可以毫无问题地转到其他VC。当我从另一个VC转到第二个VC时,出现了无法正常使用的Back按钮。这表明问题在于secondVC的某些设置。 secondVC确实打开了,它的后退按钮只有一个不起作用的“后退”,而不是带有发送VC名称的后退按钮。

预先感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

如果其他任何人有此问题并且将来会来到这里,则是造成此问题的原因。我发现情节提要中目标VC的后退按钮将阻止导航控制器在推送过程中自动创建的后退按钮。 后退按钮在情节提要板上不可见,但位于大纲窗格的“导航项,左栏按钮项”下。在那里删除即可解决问题。