我有一个带有两个子视图控制器的根视图控制器,称它们为X和Y,它们都是UIViewController的同一子类的实例。 (因此它们的外观和功能完全相同。)首先将X添加到根视图控制器,然后我们将添加YXview的帧是整个屏幕区域,Y.view的帧将向右偏移一个屏幕宽度(当Y被实例化时,它完全在屏幕外。
当用户按下按钮时,Y被实例化并添加到根视图控制器,然后X和Y同时向左滑动一个屏幕宽度,以便X.view的帧退出左侧阶段并且Y.view进入从舞台右侧。执行此操作的动画有延迟。
我发现如果单击X上的按钮导致Y的实例化并触发此动画,然后在动画延迟期间单击X上的另一个按钮,则按钮单击不会传递给X上的按钮但是改为Y上的类似按钮,以便它已经被按下了。
为什么会发生这种情况?修复是什么?
谢谢,
答案 0 :(得分:0)
你应该指明要保持在前方和后方的观点 - :
IF X YOU WANT TO BECOME ACTIVE THEN-
[self.view bringSubviewToFront:X.view]
IF Y YOU WANT TO BECOME INACTIVE THEN-
[Y.view setUserInteractionEnabled:NO];
OR 尝试类似:
[[UIApplication sharedApplication].keyWindow addSubview:yourSubview]
或
[[UIApplication sharedApplication].keyWindow bringSubviewToFront:yourSubview]