屏幕外UIView响应水龙头

时间:2013-10-15 00:55:04

标签: ios uiview uiviewcontroller

我有一个带有两个子视图控制器的根视图控制器,称它们为X和Y,它们都是UIViewController的同一子类的实例。 (因此它们的外观和功能完全相同。)首先将X添加到根视图控制器,然后我们将添加YXview的帧是整个屏幕区域,Y.view的帧将向右偏移一个屏幕宽度(当Y被实例化时,它完全在屏幕外。

当用户按下按钮时,Y被实例化并添加到根视图控制器,然后X和Y同时向左滑动一个屏幕宽度,以便X.view的帧退出左侧阶段并且Y.view进入从舞台右侧。执行此操作的动画有延迟。

我发现如果单击X上的按钮导致Y的实例化并触发此动画,然后在动画延迟期间单击X上的另一个按钮,则按钮单击不会传递给X上的按钮但是改为Y上的类似按钮,以便它已经被按下了。

为什么会发生这种情况?修复是什么?

谢谢,

1 个答案:

答案 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]