鉴于群上有人请教我,为何
MBProgressHUD
新版的
[self.HUD setDisableTouch:YES];
这个方法去哪里了,作者是误删了吗,没有这个API啊,怎么办,hud出现的时候,屏幕其他地方点击不了
然而,这个时候是最考英语水平的时候了,请往下看:
1.先看看MBProgressHUD.h
上面有这么一句:
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
网友评论