CAShapeLayer是CALayer的子类,但是比CALayer更灵活,配合一个神奇的属性path用这个属性配合上 UIBezierPath 这个类就可以达到超神的效果。
玩一下 UIBezierPath
UIBezierPath 顾名思义,这是用贝塞尔曲线的方式来构建一段弧线,你可以用任意条弧线来组成你想要的形状,它包含起始点、终点、及控制点三个参数。如下图红色矩形范围内的白色背景,最上面就是一条有弧度的曲线。
Continue readingCAShapeLayer是CALayer的子类,但是比CALayer更灵活,配合一个神奇的属性path用这个属性配合上 UIBezierPath 这个类就可以达到超神的效果。
UIBezierPath 顾名思义,这是用贝塞尔曲线的方式来构建一段弧线,你可以用任意条弧线来组成你想要的形状,它包含起始点、终点、及控制点三个参数。如下图红色矩形范围内的白色背景,最上面就是一条有弧度的曲线。
Continue readingNSURLSession 是iOS7之后对 NSURLConnection 更进一步的优化封装,可通过 NSURLSessionConfiguration 对其进行初始化设置,其中 requestCachePolicy 属性设置就是配置获取得到 NSURLResponse 之后的缓存策略:
Continue reading之前在使用 AFNetworking都会进行二次封装便于开发使用,但是通常的结构是一种集中式的封装,如下:
1 | - (void)asyncWithQueryString:(NSString *)query params:(NSDictionary *)params |
这种结构的弊端在于,每次调用的时候都需要传递所有的参数,而即使没有参数也需要传递 nil 值站位,尤其如果一开始没有封装好导致后期要在方法里面添加一个参数,那么我们所有调用此方法的地方都需要进行修改,虽然这种可能性很小。所以后来采用了链式结构进行了封装。使用这种方法主要是借鉴了IOS中的布局适配框架 Masonry,关于链式编程更多的了解可以参考:
Continue reading在支付宝的爱心支付和恩基爱看到一些捐助活动偶尔也会献些爱心,当看到腾讯的这个公益 404 页面真是喜欢的不得了,更重要的在 hexo 中接入也很简单,当然从某种意义上并不希望经常看到它。
1 | layout: false |
纸上得来终觉浅 绝知此事要躬行
Software Engineer