最近闲来无事,来说说一些简单优秀的控件以及实现,网易新闻客户端的下拉刷新大家都应该知道:随着下拉的距离去画一个红色的圆,到达一定的距离后松手,圆圈转动,表示正在刷新,为什么这个圆有一个小缺口呢?如果是一个完整的圆,那还看得到转动的效果吗?下面来说说他的实现吧。
看到这样的一个交互,应该会很容易的想到两件事,第一:这是一个下拉刷新控件(废话);第二:需要动态去画一个圆。别急,步子迈大了,容易扯到蛋。
先看第一件事:下拉刷新,这个东东应该不用多说,有很多封装得很好的控件,我们就从ego下手,ego的视图上有4部分内容,1:向上、向下的箭头,2:表示状态的文字,3:刷新时间,4:转动的菊花(箭头消失,正在刷新时出现),这就简单了,我们只需要把箭头和转动的菊花换成我们自己的圆就OK了。
再看第二件事:动态的画一个圆,先简单一点:就画一个圆。
涉及到绘画,要用到core graphics库里面的东东,在UIView的子类中,在
- (void)drawRect:(CGRect)rect;方法里开始我们的画图,就像现实生活中画画一样,首先要有一块画布,