gpt4 book ai didi

ios - 在点击屏幕的位置画一条垂直线

转载 作者:可可西里 更新时间:2023-11-01 06:11:54 25 4
gpt4 key购买 nike

我想在点击屏幕的地方画一条垂直线。因为平均手指宽度大于 1 像素宽,所以我想“逐步”执行此操作。所以基本上,这条线只能每隔 25px 绘制一次。我想找出可以画线的最近位置。

例如,如果手指从上 View 左侧轻敲 30 像素,我想在距 View 左侧 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;

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

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

关于ios - 在点击屏幕的位置画一条垂直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com