cuốn sách gpt4 ai đã làm

objective-c - CGAffineTransformmakeScale + 手势

In lại Tác giả: Walker 123 更新时间:2023-11-28 22:54:40 29 4
mua khóa gpt4 Nike

我有一个问题。有一个uiview,它是通过手势控制的(可以水平移动)。虽然这个 uiview 很小,但一切都很好。

在使用 CGAffineTransformScale 缩放它之后,奇怪的事情开始了:潘开始工作奇怪——变得不太敏感。所以在更大的状态下,我可以在PAN开始工作前1.5厘米的范围内移动我的手指。之后,一切正常(UIView用手指拖动),但不是很顺利。

我认为在 CGAffineTransformScale 与 View 之后增加了一些东西,它负责手势。如果我向后缩小 View ,手势就会开始正常工作。

求助!谢谢!

//过渡

[UIView transitionWithView:pagesView   
duration:0.25
options:UIViewAnimationOptionCurveEaseOut + UIViewAnimationOptionAllowUserInteraction + UIViewAnimationOptionBeginFromCurrentState
animations:^{

pagesView.transform = CGAffineTransformScale(pagesView.transform, kResize, kResize);

}
completion:^(BOOL finished){


}];

câu trả lời hay nhất

如果您要求平移手势识别器在 View 中进行平移,并且 View 已缩放到其自然大小的两倍,则将手指的移动除以二来计算平移。大概这不是您想要的。

请求平移手势识别器在Chưa缩放的 View 中进行翻译。我假设您的缩放 View 具有未转换的 super View 。尝试将其用作手势识别器的操作:

- (IBAction)pan:(UIPanGestureRecognizer *)panner {
UIGestureRecognizerState state = panner.state;
if (state != UIGestureRecognizerStateChanged && state != UIGestureRecognizerStateEnded)
trở lại;
UIView *movingView = panner.view;
UIView *referenceView = movingView.superview;
CGPoint offset = [panner translationInView:referenceView];
[panner setTranslation:CGPointZero inView:referenceView];
CGPoint center = movingView.center;
center.x += offset.x;
center.y += offset.y;
movingView.center = center;
}

关于objective-c - CGAffineTransformmakeScale + 手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11073930/

29 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress