gpt4 book ai didi

iphone - 使用 UIScrollView 缩放并使用 UIRotationGestureRecognizer 旋转

转载 作者:行者123 更新时间:2023-12-01 17:33:07 28 4
gpt4 key购买 nike

我想要一个 UIImageViewUIScrollView 内旋转但是当我尝试缩放/取消缩放时,我的旋转会回到 0

这是我的轮换代码:

- (void)rotateImage:(UIRotationGestureRecognizer*)rotate
{
if ([rotate state] == UIGestureRecognizerStateEnded)
{
rotateAngle += [spin rotation];
return;
}

myView.transform = CGAffineTransformMakerotation(rotateAngle + [rotate rotation]);
}

关于 UIScrollView ,我只是在 -(UIView*)viewForZoomingInScrollView: 中返回 myView

最后一个信息,在我的界面构建器中,这是我的 View 堆栈:

UIImageView
UIView (myView)
UISCrollView

这意味着我有一个 UIViewUIImageView 之间和 UIScrollView

最佳答案

我宁愿建议您使用捏合手势来处理缩放。看起来会更整齐均匀。向 View 添加捏合手势。对于缩放,在其选择器方法中添加以下代码

   - (void)handlePinch:(UIPinchGestureRecognizer *)recognizer
{


myView.transform = CGAffineTransformScale(recogniser.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;

}

用于旋转,

    -(void)handleRotate:(UIRotationGestureRecognizer *)rec
{


myView.transform = CGAffineTransformRotate(rec.view.transform, rec.rotation);
rec.rotation = 0;
}

确保将自己声明为手势的委托(delegate)并实现以下委托(delegate)方法

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}

从中删除 myView

 -(UIView*)viewForZoomingInScrollView:  

实现我的解决方案之前的方法。让手势单独处理缩放而不是 ScrollView 。:)祝你好运

关于iphone - 使用 UIScrollView 缩放并使用 UIRotationGestureRecognizer 旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862967/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com