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

欢迎关注老码农的微信公共账号,与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。 

补充于2015.11.13

在做野鸟装备 2.0的时候发现,ContainerView要宽和高要先在xib中设置为固定值,再在代码中动态计算调整才可以,否则还是会出现ScrollView区域之外的部分无法接收事件的问题。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值