ios – 绘制一个垂直线,屏幕被点击

ios – 绘制一个垂直线,屏幕被点击,第1张

概述我想在点击屏幕的地方画一条垂直线.因为平均手指宽度超过1像素宽,我想“分步”做到这一点.所以基本上,这条线只能每25px绘制一次.而且我想弄清楚我可以画线的最近位置. 例如,如果手指从我的上方视图的左侧开始30像素,我想从视图的左侧绘制一个25像素的垂直线.如果屏幕从左边40个像素点击,我想要从左侧绘制50个像素的线. (所以每25个像素只能有一行,我想绘制最近的一行. 知道我怎么能这样做吗? 画 我想在点击屏幕的地方画一条垂直线.因为平均手指宽度超过1像素宽,我想“分步”做到这一点.所以基本上,这条线只能每25px绘制一次.而且我想弄清楚我可以画线的最近位置.

例如,如果手指从我的上方视图的左侧开始30像素,我想从视图的左侧绘制一个25像素的垂直线.如果屏幕从左边40个像素点击,我想要从左侧绘制50个像素的线. (所以每25个像素只能有一行,我想绘制最近的一行.

知道我怎么能这样做吗?

画线很容易:

UIVIEw *lineVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(100.0,0.0,1,320.0)];lineVIEw.backgroundcolor = [UIcolor whitecolor];[parentVIEw addSubvIEw:lineVIEw];

但我不知道如何找到用户点击屏幕的位置.

解决方法 要选择与25点边界对齐的最近垂直线,请使用此值计算正确的x值:

CGfloat   spacing = 25.0f;NSInteger lineNumber = (NSInteger)((touchPoint.x + (spacing / 2.0f)) / spacing);CGfloat   snapX = spacing * lineNumber;

以下是上面代码中发生的情况:

>将一半间距值添加到触摸点上 – 这是因为下一步中的“捕捉”过程总是会找到前一行,因此通过添加间距值的一半,我们确保它会“捕捉”到最近的行.>通过除以间距计算行号,并将值转换为整数.这会截断结果的小数部分,因此我们现在有整数行号(0,2,3等).>乘以原始间距以获得要绘制的线的实际x值(0,25,50,75等).

总结

以上是内存溢出为你收集整理的ios – 绘制一个垂直线,屏幕被点击全部内容,希望文章能够帮你解决ios – 绘制一个垂直线,屏幕被点击所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存