1

我有一个登录屏幕,成功登录后重定向到主页。

我这样重定向:

ViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"main"];

[self presentModalViewController:viewController animated:YES];

并且重定向发生,并且主屏幕加载,但其上的按钮不再响应点击,并且导航区域丢失。

我正在使用推送序列。

有谁知道为什么会发生这种事情?另外,现在我正在使用 push seguey,但我应该使用模态 seguey 吗?

我的功能是:在一个屏幕上执行一些逻辑,然后转到下一个屏幕。

4

4 回答 4

2

您需要更好地了解 UINavigationControllers 是如何工作的。按钮不起作用的原因是您已将它们放在 UINav 控制器本身上,而不是与视图关联的“隐含”工具栏上。

UINavigationController 将其控件替换为推送视图的控件。如果您将控件直接放在 UINav 控制器上,您的 viewController 将不会获得相关的消息。

UINavigationController 是一个视图容器。进入 IB 并将您的按钮放在视图继承工具栏的工具栏上,它将起作用。

于 2012-08-09T03:14:05.377 回答
2

首先,我会以不同的方式创建整个“重定向”。在 IB 中,选择登录视图控制器并将其拖到主屏幕视图控制器并选择推送。选择 segue 并添加标识符并将重定向方法替换为
[self performSegueWithIdentifier:@"identifier set in IB" sender:self];

于 2012-08-06T10:20:09.350 回答
2

这实际上也发生在我身上。就我而言,发生的事情是Initial View在属性检查器中调用了一个选项。保留它,以便仅针对 UINavigation 控制器本身检查该选项。

试试看。如果它不起作用,对不起:/

编辑:这是我为赏金发布的一个问题,它详细说明了同样的问题。查看答案。

于 2012-08-08T15:47:37.470 回答
1

你确定视图有它的 userInteractionEnabled 吗?

[self.view setUserInteractionEnabled:YES];
于 2012-08-09T00:26:29.463 回答