由于其他子视图,UIButton点击事件未触发

时间:2015-10-26 00:18:33

标签: ios objective-c uibutton

在我的SplashScreenViewController上,我有一系列有序的动画,可以通过交叉溶解来隐藏和显示视图。整个过程中还有一个按钮,允许用户跳过此按钮。但是,按钮没有响应其内部事件的修饰。如果我快速点击它,有时候我可以开火,但很少。

我认为这是我对另一个UIViews所做的事情的结果,并且触摸被他们吸收。

其他每个子视图的User Interaction Enabled都设置为false(在IB中未选中)。该按钮最后显示在IB中,应该使其成为顶视图。我还添加了以下代码以防万一:

_btnAlreadyRegistered.hidden = NO;
[[UIApplication sharedApplication].keyWindow bringSubviewToFront:_btnAlreadyRegistered];
_btnAlreadyRegistered.enabled = YES;

以下是执行动画的方法之一的示例。每种淡入/淡出动画都遵循相同的模式:

- (void) fadeOutHello {

    _btnAlreadyRegistered.hidden = NO;
    [[UIApplication sharedApplication].keyWindow bringSubviewToFront:_btnAlreadyRegistered];
    _btnAlreadyRegistered.enabled = YES;

    [UIView transitionWithView:[self view]
                      duration:CROSS_FADE_DURATION_3
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^{_grayView.hidden = YES;}
                    completion:^(BOOL finished){[self fadeInGetRegistered];}
     ];
}

1 个答案:

答案 0 :(得分:0)

尝试UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction