【问题标题】:How to draw dynamic line path on imageView?如何在imageView上绘制动态线路径?
【发布时间】:2019-03-27 20:56:32
【问题描述】:

我想在图像视图上画一条线,示例如下-

我在 imageView 中有一条从 A 到 F 的路径。

如果我选择 A 然后 D-Path 将像绿线一样生成,如果我选择 A 和 F-Path 将像红线一样生成。

如何在图像视图上执行此操作?

所有点(A,B,C,D,E & F) 都是 UIButton

【问题讨论】:

    标签: swift swift3 uibezierpath


    【解决方案1】:

    首先我必须说你的问题不是很清楚,我花了一段时间才弄清楚你真正想要实现的目标。我希望我理解正确。无需简单地输入您需要的实际代码,这就是我的处理方式:

    我会创建一个包含字典的数组,其中包含作为键的字母和作为值的点,看起来像这样:

    [
    ["A": CGPoint(x: 0, y: 0)],
    ["B": CGPoint(x: 0, y: 0)],
    ["C": CGPoint(x: 0, y: 0)],
    ["D": CGPoint(x: 0, y: 0)],
    ["E": CGPoint(x: 0, y: 0)],
    ["F": CGPoint(x: 0, y: 0)],
    ]
    

    (或者更好,这个数组可以有包含类似信息的自定义模型)

    然后,使用这个数组在视图上绘制 UIButtons,通过子类化每个 UIButton 为数组中的项目提供一个引用,例如字典的键。

    CustomButton: UIButton { 
        var key: String?
    }
    

    然后,当点击第一个按钮时,将该键存储在名为 start 的局部变量中,并在点击第二个按钮时将该键存储在名为 end 的局部变量中。随后,遍历数组并找到匹配的start 键,并使用数组中的值绘制线条,直到找到匹配的end 键。

    因为我有心情,所以我创建了一个简单的游乐场演示,但这通常不是它的工作方式。您不仅要求提供示例代码,还要求帮助解决问题。

    无论如何,你可以在这里找到演示:https://gist.github.com/pvroosendaal/f1617fe7e164bc94f0d37d3175252e2f

    顺便说一句,这是迄今为止我编写的最糟糕的代码,但它可以满足您的需求。

    我希望这是有道理的,否则,请告诉我。

    【讨论】:

    • 你能不能做一个简单的demo,像上面那样拍任何图像或我的,然后简单地画一条包括两点(A,C)的线
    • 因为有心情,我创建了一个简单的游乐场演示,但这通常不是它的工作方式。您不仅要求提供示例代码,还要求帮助解决问题。不管怎样,你可以在这里找到演示:gist.github.com/pvroosendaal/f1617fe7e164bc94f0d37d3175252e2f顺便说一句,这是迄今为止我写的最糟糕的一段代码,但它确实有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 2014-06-14
    • 2016-10-29
    • 2019-03-31
    • 1970-01-01
    • 2015-11-04
    相关资源
    最近更新 更多