最近项目上要求开发箭头的引导视图,视图的位置内容都是可变.
根据产品要求,总结几点心得体会:
一 产品要求:
1 箭头要在被指向的图形横轴中心;
2 引导视图大小固定,但是位置要求根据被指向的位置变化;
二 心得:
1 根据箭头指向的位置计算整个图形的位置;
计算的方法:
A.先根据按照箭头剧中计算,将传入的箭头的位置认为是整个箭头图形的中心,计算出一个X轴最小、最大位置(view_min_x,view_max_x)
B.如果view_min_x大于等于8 并且view_max_x小于等于屏幕宽度-8 就使用A中view_min_x作为箭头引导图的x坐标,同时箭头的位置在整个箭头图形中剧中
C.如果view_min_x小于8 并且view_max_x小于等于屏幕宽度-8,就使用8作为箭头引导图的x坐标,将传入的箭头x坐标-8作为箭头的位置
D. 如果view_min_x大于等于8并且view_max_x大于屏幕宽度-8,就使用屏幕宽度-8.0f-箭头引导图宽度作为箭头引导图的x坐标,将,将传入的箭头x坐标-8作为箭头的位置
(8 是左右个有8个点的间隔)
2 绘制箭头图形使用了CAShapeLayer 绘制箭头图形,要求有圆角,注意绘制圆角时圆心的坐标
三 具体实现参见如下:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 23.0px Menlo; color: #6122ae; background-color: #d4efd6 }
原文地址:https://www.cnblogs.com/programmer-blog/p/9158845.html
时间: 2024-11-05 12:27:33