推送后视图上的按钮将不起作用,然后呈现一个 UIViewController

Posted

技术标签:

【中文标题】推送后视图上的按钮将不起作用,然后呈现一个 UIViewController【英文标题】:The Button on the View will not work after push and then present an UIViewController 【发布时间】:2014-10-01 03:40:57 【问题描述】:

我在导航栏上制作了一个带有按钮的视图控制器。现在按钮可以正常工作了。但是在推送一个带有动画的 UIViewController 然后再呈现另一个 UIViewController 然后返回 Home ViewController 后,导航栏上的按钮将不起作用。

如果在使用[ pushViewController: animated:] 方法时将所有动画设置为NO,它将起作用。 (我在f**king CHINA,***无法正常工作,我无法以正确的格式在这里发布代码。请下载我的代码here。https://github.com/bohanyzu/PresentViewControllerTest) 谢谢!

【问题讨论】:

【参考方案1】:

您不应一次执行多个动画屏幕过渡。它很可能会破坏 UIKit 的内部状态。推新屏幕或呈现新屏幕。不要同时做这两件事。

还要在日志中查找消息。 UIKit 经常(但不总是)在运行时报告这些问题。

【讨论】:

我想知道原因 这就是原因。如果发生这种情况,则 UINavigationBar 的内部状态会被破坏,这可能会导致任何奇怪的错误。

以上是关于推送后视图上的按钮将不起作用,然后呈现一个 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

如何从呈现的视图控制器上的按钮操作推送视图控制器

推送视图控制器不起作用

如果在 JSON 中通知“aps”,iOS 推送通知将不起作用

为啥我的列表视图上的删除按钮不起作用[重复]

当我呈现视图控制器时,交互式弹出手势不起作用

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