我需要使我的屏幕能够响应用户的触摸,但只有在通过 MBProgressHUD 显示的消息提示他们之后。我意识到我需要实施
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法,但正如我所说,我只需要在用户收到消息提示时才需要这样做,而不是之前。可以做到这一点,如果可以,怎么做?
我需要使我的屏幕能够响应用户的触摸,但只有在通过 MBProgressHUD 显示的消息提示他们之后。我意识到我需要实施
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法,但正如我所说,我只需要在用户收到消息提示时才需要这样做,而不是之前。可以做到这一点,如果可以,怎么做?
只需使用名为 userHasRespondedToMessage 的布尔标志。在用户响应消息之前将其设置为 NO。然后,在您的 touches 方法中,如果布尔值为 no,则返回而不是处理触摸。或您想要启用或禁用tocuhes 的任何其他方式。
这取决于你的情况。但是,这是处理触摸的一般方法。当您需要启用/禁用视图中的触摸时,您需要像这样启用/禁用它:
BOOL wantWhatTouch = NO.//or yes depend on you
[self.view setUserInteractionEnabled:wantWhatTouch];
上面的代码将禁用对您的视图的触摸。
所以,如果现在你想再次启用触摸。就在您删除/禁用提示消息时,只需再次启用它......说,您使用一个按钮来删除/隐藏您的警报,然后就这样做:
[self.view setUserInteractionEnabled:YES];
所以,你会发现你的触摸再次起作用。