我正在尝试重新创建照片应用程序的行为,其中您可以同时平移,缩放和旋转。我已经完成了基本工作,但卡在了某个地方。
对于平移,我通过平移量偏移视图的中心点。这很好地运作。
对于缩放和旋转,我将仿射变换应用于视图。这也很好地运作。
问题是当我平移(即移动子视图)然后进行缩放或旋转时,仿射变换似乎使用视图的旧中心点进行应用。我认为它应该使用当前中心点作为变换原点-因为我在平移时更新了中心点,所以我认为这应该可以解决。但实际上,我得到的是围绕原始中心点的旋转运动,而不是围绕子视图的中心点旋转。
我该如何纠正这个问题?显然可以直观地结合这三个手势,就像照片应用程序成功地做到的那样。
我尝试使用仿射变换进行平移,但效果相同。
对于平移,我通过平移量偏移视图的中心点。这很好地运作。
对于缩放和旋转,我将仿射变换应用于视图。这也很好地运作。
问题是当我平移(即移动子视图)然后进行缩放或旋转时,仿射变换似乎使用视图的旧中心点进行应用。我认为它应该使用当前中心点作为变换原点-因为我在平移时更新了中心点,所以我认为这应该可以解决。但实际上,我得到的是围绕原始中心点的旋转运动,而不是围绕子视图的中心点旋转。
我该如何纠正这个问题?显然可以直观地结合这三个手势,就像照片应用程序成功地做到的那样。
我尝试使用仿射变换进行平移,但效果相同。