例如,如果手指从我的上方视图的左侧开始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 – 绘制一个垂直线,屏幕被点击所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)