我有一个使用几个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 Magic。