Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
iphone UIImage按端点调整大小_Iphone_Uiimageview_Uiimage_Cgimage_Cgimageref - Fatal编程技术网

iphone UIImage按端点调整大小

iphone UIImage按端点调整大小,iphone,uiimageview,uiimage,cgimage,cgimageref,Iphone,Uiimageview,Uiimage,Cgimage,Cgimageref,我希望通过拾取形状的端点来调整形状在上下文中绘制的大小。并使用其端点旋转它。有人能给我举个恰当的例子来说明我该怎么做吗 我的问题 根据图像,当用户触摸端点时,我必须通过端点旋转和缩放形状,您可以获得触摸开始时触摸的坐标:以及图像的帧和变换。移动时,将在TouchsMoved:中获得触摸的新坐标 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { self.touchStart = [[touches any

我希望通过拾取形状的端点来调整形状在上下文中绘制的大小。并使用其端点旋转它。有人能给我举个恰当的例子来说明我该怎么做吗

我的问题


根据图像,当用户触摸端点时,我必须通过端点旋转和缩放形状,您可以获得触摸开始时触摸的坐标:以及图像的帧和变换。移动时,将在TouchsMoved:中获得触摸的新坐标

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    self.touchStart = [[touches anyObject] locationInView:viewThatContainsImage];
    self.imageStartFrame = image.frame;
    self.imageTransformStart = image.transform;
    [super touchesBegan:touches withEvent:event];
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    CGPoint newTouchPoint = [[touches anyObject] locationInView:viewThatContainsImage];
    [super touchesMoved:touches withEvent:event];
}

使用起始帧、起始变换、起始点和当前点,您可以计算出新的大小/角度变化。

确实要这样做吗?通常的手势是捏动缩放和旋转,这不需要拾取角。谢谢您的评论,但我必须只对端点执行相同的功能:)我正在编辑我的问题。然后我将重申我的问题:为什么要坚持在支持多点触摸的设备上使用为鼠标设计的对象操作隐喻?实际上,这是我的客户机的要求,这就是我必须执行此操作的原因……)不是吗可以尝试教育你的客户为什么这不是一个好主意吗?也许可以模拟一个更好的实现,让他们尝试一下?谢谢这对UIImage是正确的,但我想对我在上下文中绘制的形状做同样的操作。看,我编辑了我的问题…:)啊,我明白了。但形状无法移动。就像在画布上画画一样,你不能再移动颜料了,只需在上面画画。要移动形状,您必须手动记住所有点并在正确的位置绘制形状,或者拥有表示单个形状并处理其自身绘制的UIView。我强烈推荐第二个选项。在这个链接中,我们的opnion bt的Thnaks一个应用程序也是一样创建的。他们使用了drawKit作为MACOS框架。我如何将其转换为ios?我相当确定应用程序对每个形状都使用单独的视图,特别是因为他们调用了他们的形状对象。与其拥有一个可以管理每个点、颜色、角度、长度、渐变等的超大UIview,不如在大UIview中拥有一组视图,每个视图都能记住并绘制自己的值。他们使用相同的形状系统,但只是为了他们自己。另外一个好处是,当视图位于其他(不透明)视图之后时,视图不会绘制,从而使您的应用程序更快。这取决于你是否选择这样做,我祝你好运。