をUIScrollView
含む自動レイアウトで IB をセットアップしていますUIImageView
。Evgenii の Github リポジトリを見て、どのように設定されているかを確認できます: https://github.com/evgenyneu/ios-imagescroll
スクロールビューは、ピンチツーズームを有効にするために使用されます。UIPanGestureRecognizer
新しい を使用してスクロールビューを移動できるようにしたい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;
}
}
私の推測では、scrollView と imageViews に設定された制約が添付ファイルの動作に干渉し、contentSize
scrollView の内容とその制約に依存していると思います。
それを機能させる方法についてのアイデアをいただければ幸いです。
編集: scrollView/imageView の組み合わせの代わりに通常のビューでテストされ、同じ問題が存在します。したがってUIAttachmentBehavior
、自動レイアウトでパン目的で使用する場合は問題になるはずです。