我UIScrollView
在 IB 中有一个带有自动布局的设置,其中包含一个UIImageView
. 您可以查看 Evgenii 的 Github 存储库,了解它是如何设置的:https ://github.com/evgenyneu/ios-imagescroll
滚动视图用于启用捏合缩放。我希望能够UIPanGestureRecognizer
使用 new移动滚动视图UIAttachmentBehavior
。这在没有自动布局的情况下效果很好,但是启用自动布局后,滚动视图内容会闪烁并且滚动视图会失真。
- (void)handlePanGesture:(id)sender
{
CGPoint p = [_panGesture locationInView:self.view];
if (_panGesture.state == UIGestureRecognizerStateBegan) {
self.scrollView.userInteractionEnabled = NO;
CGPoint center = self.view.center;
UIOffset offset = UIOffsetMake(p.x - center.x, p.y - center.y);
_attachBehavior = [[UIAttachmentBehavior alloc] initWithItem:self.scrollView offsetFromCenter:offset attachedToAnchor:p];
[_animator addBehavior:_attachBehavior];
} else if (_panGesture.state == UIGestureRecognizerStateChanged) {
_attachBehavior.anchorPoint = p;
}
}
我的猜测是设置为滚动和图像视图的约束会干扰附件行为,contentSize
滚动视图的约束也取决于其内容和约束。
任何想法如何得到这个工作将不胜感激。
编辑:使用普通视图而不是 scrollView/imageView 组合进行测试,并且存在相同的问题。因此,使用UIAttachmentBehavior
自动布局进行平移必须是一个问题。