これに似た投稿がいくつかありますが、他の応答を自分のコードに適応させるのに苦労しています。メソッドtouchesBegan
、touchesMoved
、およびtouchesEnded
の使用に問題がありますscrollview
。
私は現在、大きなサイズscrollview
(3072 x 2304) を持っています。私はこれの a を持っておりUIImageView
、subview
どちらかへのタッチを検出したいと考えています (どちらでも同じ結果が得られるため、どちらでもかまいません)。
これに対する私の現在のアプローチは次のとおりです。
//Set scrollview to size of image
self.myScrollView.contentSize = CGSizeMake(3072, 2304);
//Load image in big rect
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 3072, 2304)];
//set image to pic in bundle
myImageView.image = [UIImage imageNamed:@"dot.jpg"];
//make imageview subview of scrollview
[self.myScrollView addSubview: myImageView];
//Making subview for touches
CGRect frame = CGRectMake(0, 0, 3072, 2304);
touchView = [[UIScrollView alloc] initWithFrame:frame];
[self.myScrollView addSubview: touchView];
//Allow for 2 touches to move screen
for (UIGestureRecognizer *gestureRecognizer in myScrollView.gestureRecognizers)
{
if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]])
{
UIPanGestureRecognizer *panGR = (UIPanGestureRecognizer *) gestureRecognizer;
panGR.minimumNumberOfTouches = 2;
}
}
ノート:
ジェスチャ認識機能の使用を提案する方法は理想的ではありません。私が知っていることは、に代わるものはありませんtouchesMoved
。これを実装するための唯一の実現可能な方法は、UIScrollView をサブクラス化することですが、これでは何の喜びもありません。