Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios中创建三角形对象_Ios_Iphone_Swift - Fatal编程技术网

如何在ios中创建三角形对象

如何在ios中创建三角形对象,ios,iphone,swift,Ios,Iphone,Swift,我不熟悉ios/iphone的开发 我想显示一个由3种可能的线连接样式组成的视图,如下所示。理想情况下,我将有3个类似于下面3个图形的对象,单击每个对象将选择适当的连接 是否可以使用UIButton实现这些对象中的每一个,或者更好地绘制并确定用户触摸了哪一个 您可以使用几种方法(可能更多) 您可以创建自定义视图,并将形状层附着到每个视图,配置所需的连接,然后在每个视图中安装相同的路径。然后,您需要附加一个点击手势管理器 不过,最简单的方法是对不同连接的静态图像使用自定义按钮。然后,您只需像正常操

我不熟悉ios/iphone的开发

我想显示一个由3种可能的线连接样式组成的视图,如下所示。理想情况下,我将有3个类似于下面3个图形的对象,单击每个对象将选择适当的连接

是否可以使用UIButton实现这些对象中的每一个,或者更好地绘制并确定用户触摸了哪一个


您可以使用几种方法(可能更多)

您可以创建自定义视图,并将形状层附着到每个视图,配置所需的连接,然后在每个视图中安装相同的路径。然后,您需要附加一个点击手势管理器

不过,最简单的方法是对不同连接的静态图像使用自定义按钮。然后,您只需像正常操作一样为每个按钮附加一个操作


我建议使用带有自定义图像的按钮。这很简单,也很容易,最后你会得到正常的按钮。

你可以使用几种方法(可能更多)

您可以创建自定义视图,并将形状层附着到每个视图,配置所需的连接,然后在每个视图中安装相同的路径。然后,您需要附加一个点击手势管理器

不过,最简单的方法是对不同连接的静态图像使用自定义按钮。然后,您只需像正常操作一样为每个按钮附加一个操作


我建议使用带有自定义图像的按钮。这很简单,也很容易,最终你会得到正常的按钮。

你当然可以使用三个自定义按钮,并使三个斜接图形中的每一个都成为一个按钮的图像


为了获得最佳效果,在我看来,您应该学习在代码中绘制斜接图形,并实际在代码中绘制斜接图形-将每个图形绘制到UIImage中,然后使每个UIImage成为按钮的图像。

您当然可以使用三个自定义按钮,并使三个斜接图形中的每一个都成为一个按钮的图像


为了获得最佳效果,在我看来,您应该学习在代码中绘制斜接图形,并在代码中实际绘制斜接图形-将每个图形绘制到UIImage中,然后使每个UIImage成为按钮的图像。

True。我应该说,您可以创建一个自定义视图并实现
layerClass()
方法,使视图的后台层成为
CAShapeLayer
。澄清,层具有
CGPath
s,而不是
UIBezierPath
s。(但是,
UIBezierPath
s在内部包含一个
CGPath
,所以区别不大。)正确。我应该说,您可以创建一个自定义视图并实现
layerClass()
方法,使视图的后台层成为
CAShapeLayer
。澄清,层具有
CGPath
s,而不是
UIBezierPath
s。(但是,
UIBezierPath
s内部包含一个
CGPath
,所以区别不是什么大问题。)我可以画几条线,但我如何用一些颜色填充线之间?我认为从问题中的图像可以明显看出我的意思:我可以画轮廓线和内线,但我如何在轮廓线之间画黑色(同样,数字应该澄清我的意思)@JennyToy您可以尝试使用给定的颜色旋转CGRect。看看这个链接。一个更好的方法可能是画一个三角形,就像我在任何“轮廓”中都看不到任何黑色一样。我看到黑色粗线条,抚摸着。基本上,这是一个单行程序来绘制任何这些图形(嗯,可能是四行代码)。问题是你不知道如何绘制代码吗?“对于第一个图像(斜接),它是8条直线”是的,但我告诉你不是,它是四条直线,每一条都有很厚的笔划。其他两张图纸也是一样,因为在每种情况下,斜接都是为您设置的。我可以画几条线,但如何用一些颜色填充线之间?我认为从问题中的图像可以明显看出我的意思:我可以画轮廓线和内线,但如何在轮廓线之间画黑色(同样,这些数字应该澄清我的意思)@JennyToy你可以试着用给定的颜色旋转一个CGRect。比如看这个链接。更好的方法可能是画一个三角形,因为我在任何“轮廓”中都看不到任何黑色。我看到黑色粗线,笔划。基本上,这是一个一行线来画这些画(嗯,可能是四行代码)。问题是你不知道如何绘制代码吗?“对于第一个图像(斜接),这是8条直线”是的,但我告诉你不是,这是四条直线,每一条都有很粗的笔划。另外两张图也是一样的,因为在每一种情况下,斜接都是为你做的。