解决MBProgressHUD 导致屏幕不能点击

鉴于群上有人请教我,为何MBProgressHUD新版的

[self.HUD setDisableTouch:YES];

这个方法去哪里了,作者是误删了吗,没有这个API啊,怎么办,hud出现的时候,屏幕其他地方点击不了

然而,这个时候是最考英语水平的时候了,请往下看:

1.先看看MBProgressHUD.h
上面有这么一句:

第85行的注释.png

2.程序员要学会分析
这句话的意思是:*@note仍然允许触摸穿过平视显示器,可以设置hud.userInteractionEnabled= NO。

3.难道还不浅显吗?就是

self.hud.userInteractionEnabled = NO;

代替上面的旧版设置

4.然后,发现不了的小菜鸟,请学会总结自己为什么找不到,为什么会这么实现,翻翻看:

旧版代码是这样的

- (void)setDisableTouch:(BOOL)disableTouch {
    _disableTouch = disableTouch;
    
    if (disableTouch) {
        if (nil == self.backgroundBtn) {
            self.backgroundBtn = [UIButton buttonWithType:UIButtonTypeCustom];
            self.backgroundBtn.frame = self.bounds;
            [self addSubview:self.backgroundBtn];
            [self sendSubviewToBack:self.backgroundBtn];
        } else {
            self.backgroundBtn.hidden = NO;
        }
    } else {
        self.backgroundBtn.hidden = YES;
    }
}

很明显,这里用了一个遮盖了屏幕的btn,来实现在加载的时候防止用户操作的功能

而新版已经把这个btn删掉了,background已经变成了普通的view

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 源码来源:gitHub源码 转载于: CocoaChina 来源:南峰子的技术博客 版本:0.9.1 MBPr...
    李小六_阅读 6,452评论 2 5
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,188评论 4 61
  • 我们习惯用“观”来衡量一个核心维度,比如: 世界观(宇宙、事物的基本观念)、人生观(人生的基本观念)、价值观(人生...
    chopinbach阅读 718评论 0 1
  • 荒凉的沙漠上 烈日 狂风 满天沙飞 我,是一颗种子 在悲情的土壤里酝酿 所有的不满 在愤俗的耕耘下 开出最美的花 ...
    有心人9阅读 275评论 0 0
  • 什么是注解 注解是用来对Java代码进行注释和解释的一种标识,这种标识同时可以被用来传递参数和信息,它的本质是元数...
    无止无尽阅读 2,586评论 0 1