Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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 在UIImageView上画线的最佳实用方法?_Ios_Objective C_Drawing - Fatal编程技术网

Ios 在UIImageView上画线的最佳实用方法?

Ios 在UIImageView上画线的最佳实用方法?,ios,objective-c,drawing,Ios,Objective C,Drawing,我在这里读了很多帖子,我看到了相互矛盾的信息 我试图在已经包含图片的UIImageView上画一条线。 我需要在不干扰现有图片的情况下,根据用户选择水平、垂直或根本不画线 一些回答说直接绘制UIImageView,一些回答说将UIImageView或UIView子类化,还有一些回答说创建视图层 这方面的最佳实践是什么,您能给我指一个教程吗?由于您只想绘制水平线或垂直线,因此最简单的方法是将子视图添加到UIImageView。如果需要水平线,请将子视图的高度设置为1-2点,并将宽度设置为图像视图的

我在这里读了很多帖子,我看到了相互矛盾的信息

我试图在已经包含图片的UIImageView上画一条线。 我需要在不干扰现有图片的情况下,根据用户选择水平、垂直或根本不画线

一些回答说直接绘制UIImageView,一些回答说将UIImageView或UIView子类化,还有一些回答说创建视图层


这方面的最佳实践是什么,您能给我指一个教程吗?

由于您只想绘制水平线或垂直线,因此最简单的方法是将子视图添加到UIImageView。如果需要水平线,请将子视图的高度设置为1-2点,并将宽度设置为图像视图的宽度。如果希望直线垂直,请将子视图的高度设置为图像视图的高度,并将宽度设置为1-2点。将子视图的背景色设置为您希望线条的任何颜色


子视图总是显示在其超级视图的顶部。

由于需要平移/缩放下面的图像,我建议您实现如下堆栈:

[UIScrollView] on the bottom
    [UIImageView] inside the scroll view for pan/zoom

[UIView] on top of the scrollview - for drawing the line 
(有关线条绘制,请参见教程)


就我个人而言,我使用project实现了平移/缩放——它实现得很好,并且需要进行大量猜测工作。

是否需要保存带有线条的图像?例如,您想将修改后的图像存储到相机卷还是发送到网站?我不需要保存它-它仅供参考。但是,我确实需要确保当用户移动/缩放背景时,背景图像的顶部始终可见。您是否需要平移/缩放线条下方的图像并使线条保持在一个位置?是的-请参阅前面的评论(我们必须同时发布)啊!哈哈。那么你肯定需要一个上方的视图-如果你在UIImageView中绘制它,它可能不会很好工作。好的-我已经检查了代码,它看起来像是一个完美的基础示例-谢谢。我会试试看,稍后再发回来。没问题!好卢肯一个相关的说明请看这个答案,这是如此有用,我给了它一个500分的赏金!这可能会有帮助:到目前为止,有一个问题-我的平移/缩放触摸没有被ScrollView看到,因为“线视图”在顶部-我如何才能让视图将触摸传递到ScrollView?您应该能够只设置myView.userInteractionEnabled=NO;在线查看。