野鸟装备2.1发布了。点击[这里](http://www.koulianbing.com/?p=135)下载内测包。
1、转场动画、淡入淡出效果。
野鸟装备2.1版本开始在个人主页上方支持动态Cover,用户可以上传8张大图,在个人主页上方轮翻播放。播放过程中有一个淡入淡出的效果。实现方式很简单:
在动画播放之前,fromView挂在superView其上,toView没有superView。动画完成后,toView挂在原来fromView的superView上,而fromView则没有了superView
+ (void)transitionFromView:(UIView*)fromView toView:(UIView*)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void(^__nullable)(BOOLfinished))completion
2、xib与代码view共存的问题。
见野鸟装备详情页底部的三条评论、全部评论入口、评论输入框,假设该区域是一个rootView。起初,我把每个xib加载后直接给xib的顶层view重置按位置计算好的frame,然后作为子View添加在rootView中,却发现,每个xib加载后的view树都会按默认600*600的尺寸被布局和显示。后来经过多次实验,发现必须使用以下步骤才可以。
1、给每个xib加载后的view树中的顶层view,即topView,按位置计算好frame。
2、在topView套一层壳containerView,containerView的frame==topView.frame。
3、topView.frame的重设为topView.bounds。
4、把所有containerView依次添加到rootView中。
5、根据所有containerView的size,重新计算rootView的frame。
这个问题说明了xib与代码生成view共存时,需要遵守的一条规则,即,xib必须唯一嵌套在一个固定frame的parentView中,才会根据parentView的frame调整自身的frame。
2、爱自拍用到了滚动切换UITableView的控件,使用的是[https://github.com/lizelu/SliderTabBar](https://github.com/lizelu/SliderTabBar)
3、勋章的自定义View
如果需要为自定义的UIView添加子View,那么直接设置数据,并调用setNeedsLayout,然后在UIView的layoutSubview中添加子View就可以了。勋章的自定义View就是由N个UIImageView组成。
4、如何把控件高度设置为0.5?
鸟巢页各个入口之间的分隔线高度如果为1的话,看起来很粗糙,但xib无法做到高度为0.5的分隔线,最终使用代码修改constraints完成。
5、tableHeaderView的事件问题。
我在项目中使用了这句来设置Header:_tableView.tableHeaderView= headerView;
发现有时headerView的上半部分可以响应事件,但下半部分无法响应。
stackoverfllow上搜索后,发现需要设置一下:headerView.autoresizingMask=UIViewAutoresizingNone;
6、企业证书打包后,安装时下载到最后提示“无法安装”
解决方案:
1、使用“Log Guru”可以在Mac上面查看iPhone的应用安装日志。发现提示:A signed resource has been added, modified, or deleted
2、百度一下,然后把项目Clean一下,重新打包,OK。