在解除子ViewController时,事件不再在父ViewController中触发

问题描述 投票:0回答:1

我有一个使用几个UIButton构建的自定义UIView。在ViewController的viewDidAppear函数中,我获取了这个UIView的子视图,并将addTarget附加到它们。一切都按预期工作,嵌入的UIButtons根据添加的点击事件,选择和取消选择按钮。

但是,当我实例化一个新的ViewController,显示它然后它被解雇,当我回到父ViewController时,添加的事件不再响应。父ViewController的其余元素工作(UITableView,其他按钮等...)。这只发生在iOS 12,模拟器和iPhone。在iOS 10 - 11中,它就像一个魅力。

我所看到的是,在IOS 12中,当我关闭viewController并且我回到调用者ViewController时,没有调用viewDidAppear。

我已经失去了几天寻找解决方案,但似乎没有任何工作。我的自定义UIView类中的UIButtons正在响应,因为我在其本机tap事件中放置了一些“print()”,并且在点击时得到响应,当我在ViewController中定义addTarget时,一定是错误的。

最近我添加了一个触发附加事件的函数的UIButton。如果我点击它,按钮会再次响应。如果我在第二个ViewController中调用该函数作为Dissmiss方法的回调...不起作用。这就像我回到它时ViewController没有活动。

必须说viewControllers放置在Tab Bar Controller内的导航控制器内。

任何的想法?

xcode events viewdidappear ios12
1个回答
0
投票

禁用“清除图形上下文”成了诀窍...我不知道为什么,但我想这是没有人理解的XCode Magic。

© www.soinside.com 2019 - 2024. All rights reserved.