ARTS 打卡 Week 08
每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章
Algorithm
LeetCode 98: Validate Binary Search Tree
Review
UIBezierPath Lesson: How to draw Cuphead on layers
BezierPath: Line, QuadCurve, Curve
UIBezier预定义的shape:rectangles, ovals, circles, the arc of circles, rounded rectangles
CAlayers的坐标系统:
不是直角坐标系,In the layer coordinate system, you don’t have a negative value, and all shapes will draw from the left-top corner.
画线:指定起止点
画四边形曲线:指定起点,指定结束点,控制点
画曲线:指定起点,指定起点和两个控制点
UIBezierPath实现画现状,CAShapeLayer来实现设置lineWidth, fillColor, strokeColor。
效果图:
这篇文章介绍了如何用UIBezierPath和CAShapeLayer绘制复杂图形。不过在实际项目中,更多使用贴图的方式来实现复杂图形图形。此外,在某些app场景,如编辑器界面,复杂形状可以提前配置好,然后再通过程序解析为代码,而不是手动代码实现。
Tips
iOS中,UICollectionView根据服务器下发的尺寸展示图片。效果如下:
关键点:使用UICollectionViewDelegateFlowLayout,然后实现如下方法:
然后,注意将动态变高度的view,改为frame布局。如我这里是一个ImageView:
当然SO上这篇文章说道:
Note that in 99% of cases, to achieve full width cells + autolayout dynamic height, simply use a table view. It's that easy.
Share
最近由于经常调用后台接口,于是捡起postman辅助调试。用了几天发现现在的功能已经比几年前增加了很多。这个工具可以加入常备工具箱了。
评论