在模态呈现的控制器的viewDidDisappear:
中,我添加了一个回调来通知谁对视图消失感兴趣(动画完成后),而不需要子类化。
注册回调的我的一个控制器在那里启动UIAlertView
。但是,一旦显示警报,其按钮就不会作出反应。
另一个是为自己添加一个子视图再次:视图的按钮没有反应。
按钮的可处理处理程序不会被触发。
我认为这与viewDidDisappear:
在调用我的回调时尚未完成的事实有关。但即使我使用了子类化,也会出现同样的情况。
一种解释可能是仍然有一些其他视图覆盖我的按钮,因为点击不会通过。
所以:有人可以确认做我正在做的事情不是一个好主意(显示警报,在viewDidDisappear中添加子视图),因为那时我将不得不改变流程。如果它应该没问题,我必须弄清楚还有什么导致这种影响。
答案 0 :(得分:0)
我将回调放入 viewWillDisappear:。至少那时原始的UIView引用仍然存在。
答案 1 :(得分:0)
更好的解决方案是通过将调用者添加为委托来解除通过父控制器的模态视图。代表将实施一个解除模态控制器的协议。当您准备解雇时,从模态视图调用委托协议。
答案 2 :(得分:0)
为避免更改流量,您可以安排计时器显示警报,这将使视图控制器代码有机会完成