您的位置:首页 > 移动开发 > IOS开发

野鸟装备IOS版开发笔记(1.0版本)

2015-09-02 21:06 399 查看
欢迎关注老码农的微信公共账号,与CSDN博客同步


野鸟装备终于要上线了,总结一下遇到的坑,供大家品尝。

调用弱引用的block属性崩溃

遇到的第一个技术性崩溃,是因为调用弱引用的block属性造成的。通常,在block回调中,如果weakSelf已经被释放,那么调用weakSelf的方法(如:[weakSelf method])会没有任何效果。但如果是调用weakSelf的block(如:weakSelf.block()),则会崩溃。

UIWebView进度条处理

UIWebView的进度条无法精确计算,使用了NJKWebViewProgress框架,但这个框架效果并不太好,要么为0,要么卡在10%左右不动,然后突然一下到100%。二期会改成微信那样的展示方式,无论如何一直在动,告诉用户我在努力,而这也是进度条存在的唯一目的,因为用户不会关心到底加载了百分之几。

UITableView的滚动条

习惯了Android上面列表的滚动条在Cell之外的风格,看IOS上面滚动条盖在列表Cell上面真心很丑,于是试了N种方式,终于通过调整滚动条的scrollIndicatorInsets 为: UIEdgeInsetsMake(0, -5,0, -5);把滚动条调整到了Cell显示区域的右侧。

引入思源字体

IOS字体实在是不怎么漂亮,借鉴大家的做法,使用了思源字体,不过压缩后11M多文件大小,真让人心疼,不过效果真的很棒。还有一个缺憾就是思源字体对decent的处理显示有问题,对于单行的Label,或者多行Label的最后一行,g的下半部分会显示不出来,这个需要自己解决一下了。我是用TTTAttributedLabel绘制时底部添加了几个点。

html语法支持

我们的文章详情中使用了部分html语法,我把NSAttributedString和TTTAttributedLabel进行了裁剪改造,糅合成一个控件来做支持。支持像带下划线样式的链接、文章内部分字体颜色设置、价格设置strike中划线样式等,直接把一个使用html语法的字符串扔给TTTAttributedLabel就可以了,比直接使用TTTAttributedLabel要方便很多。

UIScrollView的使用

我整个项目99%都是使用xib来完成的,在布局“鸟巢”时,最下面的“点击登录”在部分机器上会被Tab挡住,所以给整个页面套了一层UIScrollView,但使用xib布局时,因为UIScrollView要依赖基内容frame才能确定其属性,而xib布局又需要先放置UIScrollView,所以出现了先有鸡还是先有蛋的问题。最后百度了一把,通过给UIScrollView加了一层虚拟的ContainerView来解决此问题。这带来了一个Bug,就是处理在“鸟巢”页面初始可见区域之下的“点击登录”的下半部分无法接收到点击事件。经过排查,发现ContainerView的userIntractEnable没有设置为YES。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: