1.先记录一个低级错误吧,当时天色晚了,对MBProgressHUD进行封装:忘了调用
[self.view addSubview:self.hudView];
这个方法。没有将MBProgressHUD添加到一个父视图上,结果一直不显示,浪费了一个小时,原因可能是因为调用了[[MBProgressHUD alloc] initWithView:self.view];就想当然的以为MBProgressHUD内部做了这件事了。
2.源码阅读记录:
这是一个古老的框架,网上资料很多,我就先分析自己获得的一些亮点吧:
首先,在用户设置label,detailLabel,customerView等之后可根据文字大小,自定义视图大小确定显示loadding大小。
整个过程是通过KVO的方法监听labelText的属性变化,如果变化同过setNeedsLayout调用view的layoutSubviews方法,在此方法中使用CGSizelabelSize =MB_TEXTSIZE(label.text,label.font);来确定label大小,完成布局。
以上是0.9版本实现。
1.0中使用autoLayout实现了label随字体变化而变化。
网友评论