MBProgressHUD源码阅读

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随字体变化而变化。

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

推荐阅读更多精彩内容